home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / virus / vds210t.zip / VDS.TXT < prev    next >
Text File  |  1992-07-11  |  153KB  |  2,843 lines

  1.                                  V
  2.  
  3.                                        D
  4.  
  5.                                               S
  6.  
  7.  
  8.  
  9.                                VIRUS DETECTION SYSTEM
  10.  
  11.                                     version 2.10
  12.  
  13.                    Copyright (c) 1992 by VDS Advanced Research Group
  14.                                  All Rights Reserved
  15.  
  16.                                       July 1992
  17.                                 Baltimore, MD, U.S.A.
  18.  
  19.  
  20.                                      WARNING
  21.  
  22.              THIS SOFTWARE AND MANUAL ARE BOTH PROTECTED BY U.S.
  23.        COPYRIGHT LAW (TITLE 17 UNITED STATES CODE). UNAUTHORIZED
  24.        REPRODUCTION AND/OR SALES MAY RESULT IN IMPRISONMENT OF UP
  25.        TO ONE YEAR AND FINES OF UP TO $10,000 (17 USC 506).
  26.        COPYRIGHT INFRINGERS MAY ALSO BE SUBJECT TO CIVIL LIABILITY.
  27.  
  28.  
  29.  
  30.                                      DISCLAIMER
  31.  
  32.              The developers of VDS make no warranty of any kind,
  33.        either express or implied, with respect to this software and
  34.        accompanying documentation. In no event shall the developers
  35.        be liable for any damages arising out of the use of or
  36.        inability to use the included programs. The entire risk as to
  37.        the results and performance of this software package is
  38.        assumed by the customer. We specifically disclaim any implied
  39.        warranties of merchantability or fitness for any purpose. Use
  40.        at your own risk.
  41.              The developers of VDS reserve the right to revise the
  42.        software and accompanying documentation and to make changes in
  43.        the contents without obligation to notify any person of such
  44.        revision or changes.
  45.  
  46.  
  47.                                     TRIAL VERSION
  48.  
  49.              You are hereby granted permission to use this software
  50.        package on any computer you own personally. Use of the trial
  51.        version of VDS in a business/academic/government environment
  52.        is not permitted. You must obtain the appropriate registered
  53.        version for that purpose. Failure to do so is considered a
  54.        violation of the Copyright Law and is subject to legal action.
  55.              Certain features of VDS are not implemented in the trial
  56.        version. Please refer to the REGISTRATION and PRICES section
  57.        of this documentation for details.
  58.  
  59.  
  60.                                   TABLE OF CONTENTS
  61.  
  62. I. INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
  63.        A. Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
  64.        B. What is VDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
  65.        C. Why VDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   2
  66.        D. Where is VDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   2
  67.        E. Deficiencies in other products . . . . . . . . . . . . . . . . . . . .   3
  68.        F. Do you need anti-viral programs. . . . . . . . . . . . . . . . . . . .   5
  69.              1. VDS Risk Factor Analysis Test. . . . . . . . . . . . . . . . . .   7
  70.  
  71. II. SYSTEM REQUIREMENTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  72.        A. Hardware & Software. . . . . . . . . . . . . . . . . . . . . . . . . .  10
  73.        B. Which files are processed. . . . . . . . . . . . . . . . . . . . . . .  10
  74.  
  75. III. INSTALLATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
  76.        A. Files on VDS distribution diskette . . . . . . . . . . . . . . . . . .  11
  77.        B. Installing VDS . . . . . . . . . . . . . . . . . . . . . . . . . . . .  12
  78.        C. Backing up the VDS distribution diskette . . . . . . . . . . . . . . .  12
  79.        D. Preparing the VDS emergency diskette . . . . . . . . . . . . . . . . .  13
  80.        E. Installing VDS on a hard drive . . . . . . . . . . . . . . . . . . . .  15
  81.  
  82. IV. OPERATION of VDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  18
  83.        A. Operational Cycle. . . . . . . . . . . . . . . . . . . . . . . . . . .  18
  84.        B. How does VDS work. . . . . . . . . . . . . . . . . . . . . . . . . . .  19
  85.        C. VDS Device Driver. . . . . . . . . . . . . . . . . . . . . . . . . . .  21
  86.        D. VDSFSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26
  87.        E. Scenarios and Messages . . . . . . . . . . . . . . . . . . . . . . . .  28
  88.        F. Command Line Options/Flags . . . . . . . . . . . . . . . . . . . . . .  32
  89.        G. Common Questions and Answers . . . . . . . . . . . . . . . . . . . . .  33
  90.  
  91. V. VIRUS ATTACK METHODS. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  43
  92.        A. Virus defined. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  43
  93.        B. Attack & spread methods. . . . . . . . . . . . . . . . . . . . . . . .  43
  94.  
  95. VI. PARTITION/BOOT SECTOR INFECTIONS . . . . . . . . . . . . . . . . . . . . . .  47
  96.        A. Preliminary information. . . . . . . . . . . . . . . . . . . . . . . .  47
  97.        B. How to recover with CURE option. . . . . . . . . . . . . . . . . . . .  50
  98.        C. How to use VITALFIX. . . . . . . . . . . . . . . . . . . . . . . . . .  50
  99.  
  100. VII. HOW TO DEAL WITH VIRUSES. . . . . . . . . . . . . . . . . . . . . . . . . .  52
  101.        A. Recommended Guidelines . . . . . . . . . . . . . . . . . . . . . . . .  52
  102.        B. Manual Recovery Procedure. . . . . . . . . . . . . . . . . . . . . . .  54
  103.  
  104. VIII. REGISTRATION and PRICES  . . . . . . . . . . . . . . . . . . . . . . . . .  58
  105.        A. How to get VDS . . . . . . . . . . . . . . . . . . . . . . . . . . . .  58
  106.        B. Trial version. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  58
  107.        C. Complimentary version. . . . . . . . . . . . . . . . . . . . . . . . .  59
  108.        D. Personal version . . . . . . . . . . . . . . . . . . . . . . . . . . .  59
  109.        E. Academic version . . . . . . . . . . . . . . . . . . . . . . . . . . .  59
  110.        F. Non-profit & charity version . . . . . . . . . . . . . . . . . . . . .  59
  111.        G. Business version . . . . . . . . . . . . . . . . . . . . . . . . . . .  59
  112.  
  113. IX. TECHNICAL SUPPORT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  61
  114.        A. How to contact the developers. . . . . . . . . . . . . . . . . . . . .  61
  115.        B. How to get VDS on the Internet . . . . . . . . . . . . . . . . . . . .  62
  116.        C. Upgrades & bug fixes . . . . . . . . . . . . . . . . . . . . . . . . .  62
  117.  
  118.  
  119.                                    I. INTRODUCTION
  120.  
  121. A. Background
  122.  
  123.           Even though computer viruses are not unique to personal
  124.        computers, lack of built-in hardware control mechanisms and
  125.        secure operating systems make PCs more vulnerable than other
  126.        computers. In addition, the tremendous amount of software
  127.        exchange among users contributes to the proliferation of
  128.        viruses.
  129.           While anti-viral products are also increasing in number,
  130.        the PC world has yet to see a comprehensive solution based on
  131.        a scientific analysis and sophisticated techniques. A common
  132.        feature shared by these anti-viral programs is their pattern
  133.        searching approach. They simply look for a sequence of
  134.        identifying bytes (not necessarily consecutive) inside the
  135.        existing executable code such as program files and boot
  136.        sector. This is a very attractive idea from a business
  137.        standpoint, but it is neither a comprehensive nor a viable
  138.        solution.
  139.           If the focus had been on analyzing viral behavior rather
  140.        than pattern matching and keeping the market alive through
  141.        forcing users to upgrade frequently, computer viruses may have
  142.        been less of a threat than they certainly are today. Some
  143.        software companies jump on the bandwagon, and using their good
  144.        reputation for other products they developed previously, cheat
  145.        the user community with false promises to put an end to the
  146.        virus problem. Although their efforts to provide a partial
  147.        solution are recognized, they have the capacity to produce
  148.        better quality products that can eradicate most possible
  149.        viruses.
  150.           VDS (Virus Detection System) was developed in reaction to
  151.        the limitations of existing anti-viral programs. Due to the
  152.        large number of ways that viruses can exploit the DOS
  153.        environment, the anti-viral methods employed in practice are
  154.        often ad hoc and cannot easily be formalized. VDS makes a
  155.        judicious choice of systematic approaches to the detection of
  156.        viruses.
  157.           A general virus detector is not theoretically possible. By
  158.        the same token, a general virus that can evade all detection
  159.        attempts is not possible given the same limitations of the
  160.        target system. VDS attempts to prove this second point for one
  161.        specific operating environment, the venerable DOS.
  162.  
  163. B. What is VDS?
  164.  
  165.           VDS is a set of programs designed to contain the spread of
  166.        computer viruses that target PCs running MS/PC DOS 3.0 or
  167.        above by providing early detection and quick recovery. The
  168.        operation of VDS is similar to that of an integrity shell in
  169.        that it is NOT virus-specific. The current implementation,
  170.        however, is not a shell that verifies programs before they are
  171.        run. Instead, VDS does a thorough check of the system every
  172.        time the PC is started and notifies the user of any suspicious
  173.        modifications detected. Please make no mistake, VDS is not
  174.        just another modification detector or virus scanner.
  175.  
  176. C. Why VDS?
  177.  
  178.        -  It is NOT virus-specific
  179.        -  It does NOT need frequent upgrades
  180.        -  It does NOT require much user expertise
  181.        -  It is NOT a TSR with possible conflicts
  182.        -  It works even when a stealth virus is ACTIVE in memory
  183.        -  It can handle any size DOS disk
  184.        -  It is compatible with DOS 3.0 and above
  185.        -  It supports MS Windows 3.0 & 3.1
  186.        -  It works on DR DOS 6.0 systems (non-compressed only)
  187.        -  It can CAPTURE some memory-resident viruses to speed up
  188.           diagnosis
  189.        -  It can recover a damaged partition table easily
  190.        -  It can fix an infected boot sector on the fly
  191.        -  It is blazingly FAST
  192.        -  It includes an automated boot sector recovery tool
  193.        -  It comes with a fast, easy-to-use scanner that can work on
  194.           network drives
  195.        -  It is CHEAP
  196.        -  It can usually HEAL itself even when infected
  197.        -  It automatically updates the baseline database after
  198.           additions/deletions
  199.        -  It can identify many common viruses
  200.  
  201. D. Where is VDS?
  202.  
  203.           A copy of VDS that performs an integrity check of the
  204.        system areas such as the partition and the boot sector, and
  205.        potentially executable files on hard disks can be ordered from
  206.        the developers by U.S. mail or by phone. Please refer to the
  207.        REGISTRATION and PRICES section of this documentation for
  208.        details.
  209.           VDS is the outcome of an independent research project
  210.        concerning computer viruses and defense mechanisms. It uses
  211.        sophisticated techniques to detect most possible viruses in
  212.        the DOS environment. It has proved to be effective against all
  213.        current and simulated viruses. It does not suffer from the
  214.        limitations of most commercially available anti-viral software
  215.        packages. These limitations will be discussed in the next
  216.        section.
  217.           If you are faced with the problem of recurring virus
  218.        infections, or have data that just cannot be replaced without
  219.        significant loss, you are invited to try VDS on your system.
  220.        With VDS in place, viruses cease to be an impediment to
  221.        productivity. Beta-test version of VDS has been installed at
  222.        a site which has a Novell Netware local area network. Within
  223.        three weeks of installation, all attacks by Stoned, Jerusalem,
  224.        and 4096 viruses were effectively caught and eliminated. The
  225.        test site now enjoys an increased sense of security. What's
  226.        more the computer services personnel and the end-users do not
  227.        have to waste any resources just to deal with viruses. We have
  228.        found VDS to be especially effective against Stoned, Dark
  229.        Avenger, Jerusalem, and 4096 viruses during our tests.
  230.  
  231. E. Deficiencies in other products
  232.  
  233.        This section is intended to be humorous as well as
  234.        informative. Sensitive individuals should skip this section.
  235.  
  236.           These days, there are more anti-viral software packages in
  237.        the market than common viruses!  Nearly everyone who has
  238.        access to a few viruses comes up with his own virus scanner
  239.        with the claim of breaking all speed records set by the
  240.        competition. One such product is so blindingly fast that it
  241.        cannot see even the viruses it has scan strings for!
  242.        Similarly, some product reviewers get their stopwatches and
  243.        virus samples ready and babble the same old rhetoric about the
  244.        numerous (but irrelevant) features of these anti-viral
  245.        programs. This situation hurts the end-users in a non-obvious
  246.        way: it adds to the existing confusion about what the problem
  247.        is and what a good solution should entail. Other self-
  248.        described experts contribute to the mass confusion by throwing
  249.        in their share of advice about what to do. There is at least
  250.        one piece of advice in a published paper stating that the
  251.        computer should be left powered on until top management is
  252.        notified, as if top management would be delighted to see the
  253.        "F... You Lamer" message the virus is flashing on the screen!
  254.        What if you have the sales figures for the past six months on
  255.        the hard disk and the virus wants to low level format it?  Let
  256.        us make it clear, however, that there are some very
  257.        experienced and knowledgeable experts in this field, and they
  258.        deserve credit. Our criticism applies only to those who are
  259.        better off saying nothing.
  260.           Why all this confusion? Is it because the virus problem is
  261.        getting out of hand, or is it because most anti-viral programs
  262.        lack the sophistication to deal with new viruses? No one
  263.        denies that the number of viruses is growing day by day. Some
  264.        of them are hacked versions of older viruses, others are new
  265.        creations of sick minds, and still others are products of
  266.        irresponsible (to say the least) so-called researchers.
  267.           There are more than 1000 computer viruses that target PCs
  268.        as of this writing. This number might double in a year or two.
  269.        Anti-viral software companies are hard at work trying to keep
  270.        up with the new strains. They categorize the samples they can
  271.        obtain, extract patterns to be able to identify them, and
  272.        upgrade their programs to stay competitive with the rest.
  273.        Meanwhile, the end-users are forced to pay more to renew their
  274.        site licenses or to upgrade to the latest version.
  275.  
  276.           Anti-viral software products fall into two categories:
  277.              - DUMB anti-virals
  278.              - SMART anti-virals
  279.           By mere coincidence, viruses also fall into two categories:
  280.              - DUMB viruses
  281.              - STEALTH viruses
  282.           Even end-users fall into two categories:
  283.              - Those who can be easily fooled
  284.              - Those who cannot be easily fooled
  285.  
  286.           As logic dictates, a DUMB anti-viral product can be
  287.        expected to deal with only the DUMB viruses in an effective
  288.        manner. Only the SMART anti-virals can be effective against
  289.        both DUMB and STEALTH viruses. End-users who can be fooled
  290.        easily fall prey to marketing hypes and invest in DUMB anti-
  291.        virals and will go have a good night's sleep with the illusion
  292.        that their computer is safe. One day, a STEALTH beast on the
  293.        prowl hits their systems. Days pass by, even weeks pass by.
  294.        The virus spreads to other computers. One day, something
  295.        strange happens and someone notices an abnormality. First
  296.        everyone panics a little, then a confident end-user declares
  297.        that he has this great anti-viral program from QuackCom Inc.
  298.        to take care of the intruder. He goes out to exterminate the
  299.        virus.
  300.           Not only the anti-viral cannot find anything wrong, the
  301.        virus spreads even more as he checks the computers. You can
  302.        hope that this is just another horror story that cannot happen
  303.        to you (or to us). For those of us who do not want to take a
  304.        chance, only a SMART anti-viral will do. We cannot settle for
  305.        less, neither should you. Being fooled once does not make
  306.        anyone a fool, but insisting on foolishness leaves doubt in
  307.        everyone's mind.
  308.           In this document, we present various aspects of anti-viral
  309.        products as well as viruses. You should be able to get an idea
  310.        about what makes a virus STEALTH and what makes an anti-viral
  311.        DUMB or SMART. Equipped with this knowledge and UNwillingness
  312.        to pay big prices, you can go out to find an anti-viral
  313.        program that will give you a reasonable amount of assurance.
  314.        By the way, you do NOT need a stopwatch, only some anti-viral
  315.        product reviewers must have one!
  316.           Following is an overview of some deficiencies noted in
  317.        today's other antiviral products:
  318.  
  319.           - They are virus-specific. They can detect only the known
  320.           strains. Some of them are slightly better since they
  321.           provide an external mechanism for end-users to add new
  322.           patterns to search for. However, this still relies on the
  323.           availability of a unique pattern that can be used to detect
  324.           a specific virus. Many polymorphic viruses require other
  325.           solutions, and cannot be dealt with by adding new
  326.           signatures.
  327.  
  328.           - They are slow. It is neither practical nor acceptable to
  329.           have a program to do pattern matching all over a large disk
  330.           with lots of executable files on a regular basis. As the
  331.           number of viruses continue to grow (more than 1000 as of
  332.           this writing), these programs will get even slower (except
  333.           the ones that "cut corners").
  334.  
  335.           - They are vulnerable to "stealth" viruses that mask
  336.           infections. Most of them can even contribute to the spread
  337.           of these types of viruses while not even being able to
  338.           detect them!  This "cure-worse-than-the-disease" syndrome
  339.           was not apparent until the onslaught of stealth viruses.
  340.  
  341.           - They are expensive. Many sell for more than $100. Others
  342.           charge ridiculous site licensing fees.
  343.  
  344.           - They need upgrades almost on a monthly basis. This sure
  345.           keeps the business alive!  The end-user is forced to pay
  346.           more money while still not having enough guarantee that his
  347.           system is not at risk.
  348.  
  349.           - They conflict with some application programs. Some are
  350.           RAM-resident, not only causing conflicts but also taking up
  351.           a chunk of precious 640K. Others modify programs to add
  352.           self-checking code (known as immunization). Ironically,
  353.           this is also vulnerable to stealth viruses, and can even
  354.           cripple some programs.
  355.  
  356.           - They rely directly on DOS during verification. Since DOS
  357.           does not claim to provide a virus-resistant environment,
  358.           these anti-viral products are destined to be defeated
  359.           sooner or later.
  360.  
  361. F. Do you need anti-viral programs?
  362.  
  363.           Unfortunately, the answer is a resounding YES. It is just
  364.        too much of a gamble not to have one in place these days. The
  365.        question then becomes "how much protection against viruses do
  366.        you need?". There is no simple answer. If you look at the
  367.        capabilities of numerous anti-viral packages in the market,
  368.        you will get an idea of what is available. You can then
  369.        consider your risk factor and make a decision.
  370.           There are a variety of techniques used by anti-viral
  371.        programs. Some of them are so paranoid (you would think their
  372.        developers should seek professional assistance!!!) that they
  373.        interfere with your regular work by issuing too many
  374.        unwarranted alarms. The more serious problem is that the users
  375.        become desensitized very quickly and tend to ignore all the
  376.        warnings. The end result is a high-tech version of the old
  377.        "cry wolf" story.
  378.           Technically, there are some other problems associated with
  379.        these products. Their reliance on interrupt monitoring (for
  380.        the most part) opens the door for the next virus that uses a
  381.        direct jump to easily bypass them. You are better off not
  382.        investing in such a product. Their false claims to stop
  383.        viruses is as effective as preventing the common flu during
  384.        winter.
  385.           At the other end of the scale, you have products that are
  386.        so pessimistic they claim it is impossible to provide enough
  387.        protection after DOS is loaded. They either encrypt everything
  388.        on the hard disk so that it can be accessed only by using
  389.        their program, or they replace the master partition sector and
  390.        again supervise all access. One such program claims to be
  391.        unobtrusive, and then goes ahead to replace your master
  392.        partition sector!  Some kind of solution. Alas, there is no
  393.        law against distributing weekend hacks to the public.
  394.           Another one comes with a card that must be plugged into a
  395.        slot on the system bus. Not only this product is expensive, it
  396.        has questionable effects on system performance. Suppose your
  397.        company owns 800 computers, and suppose they all have an empty
  398.        slot to plug this card in without any conflicts with the other
  399.        adapters already installed. Someone has to go around and open
  400.        up each machine to install the card. Can you imagine the
  401.        trouble you can get in if these guys decide to upgrade the
  402.        card next month!  With software-based anti-virus programs, you
  403.        can at least just copy the new version to your hard disk every
  404.        month. Stay a good distance away from these products for your
  405.        own good. They claim to send a bolt of lightning from above
  406.        and punish all viruses; please beware, because your wallet
  407.        might be the only thing that gets struck!
  408.  
  409.           The most common variety is called a virus scanner. Their
  410.        operation is based on the assumption that a unique sequence of
  411.        bytes (not necessarily consecutive) extracted from the viral
  412.        code will be present in all infected files. They simply search
  413.        for this pattern and tell you if the file contains that
  414.        pattern, indicating possible infection. It is sad that these
  415.        products, which do a good service, give the user a false sense
  416.        of security. What if your system is attacked by a new virus?
  417.        What if the virus is smart enough to evade this kind of
  418.        detection?  These products make sense only as part of a
  419.        stronger and more comprehensive package such as VDS. The only
  420.        other feasible use for these products is to look for known
  421.        viruses on floppy diskettes.
  422.           Many people believe that the biggest shortcoming of virus
  423.        scanners is that they may cause false alarms since the same
  424.        string used to identify a virus can be present in a clean
  425.        program file. Although there is a chance that this may happen,
  426.        it is a rare occurrence. The biggest problem with the virus
  427.        scanners is their inability to detect new viruses.
  428.           Another type of anti-viral product checks for modifications
  429.        to the files and the system areas. These products usually
  430.        compute some kind of checksum value to recognize any changes.
  431.        They certainly have a chance to catch new viruses. The problem
  432.        is that the more advanced viruses cannot be detected easily.
  433.        These viruses are capable of masking any modifications they
  434.        make. There are some poor implementations of change detection
  435.        approach. One such program sold by a company, which also
  436.        developed a respectable disk utility in the past, is one of
  437.        the worst implementations we have encountered. Very
  438.        disappointing!
  439.           Please do not confuse VDS with these change detection
  440.        programs. VDS uses a proprietary triple-pass verification
  441.        technique that is not specific to the DOS environment. Let us
  442.        just say that VDS is superior by design as well as
  443.        implementation. Do not take our word for it; find out for
  444.        yourself by calling (410) 247-7117 and ordering a copy of VDS
  445.        now!
  446.  
  447. 1. VDS Risk Factor Analysis Test
  448.  
  449.        Following test is intended to serve as a simple tool to
  450.        evaluate the vulnerability of your computer(s). It is not a
  451.        comprehensive risk indicator; however, it covers the most
  452.        basic and often neglected areas. The test is not associated
  453.        with the VDS package, although the interpretation section is.
  454.        Remember that if your score lands in category 3 or 4, anything
  455.        less than a comprehensive anti-viral measure will not be
  456.        effective in the long run.
  457.  
  458.        Q-1)  How many different viruses attacked your computer(s) over
  459.              the past two years?
  460.  
  461.           A) None                B) 1 or more
  462.  
  463.        Q-2)  If your answer to question #1 was B (1 or more), did you
  464.              install an anti-viral program to protect your computer?
  465.  
  466.           A) Yes          B) No
  467.  
  468.        Q-3)  How many times did you have to deal with non-virus-
  469.              related conflicts between programs?
  470.  
  471.           A) None         B) 1 or more
  472.  
  473.        Q-4)  Is all your valuable data backed up on at least two sets
  474.              of storage media?
  475.  
  476.           A) Yes          B) No
  477.  
  478.        Q-5)  Have you backed up your data within the last month and
  479.              verified that you can actually restore it?
  480.           A) Yes          B) No
  481.  
  482.        Q-6)  Are all your original program diskettes write-protected?
  483.  
  484.           A) Yes          B) No
  485.  
  486.        Q-7)  Do you have a copy of your master boot record (or just
  487.              the partition table) copied either on a floppy diskette
  488.              or printed?
  489.  
  490.           A) Yes          B) No
  491.  
  492.        Q-8)  Do you frequently play games that you borrowed from your
  493.              friends on your computer?
  494.  
  495.           A) No           B) Yes
  496.  
  497.        Q-9)  Do other people (including PC technicians) use your
  498.              computer sometimes?
  499.  
  500.           A) No           B) Yes
  501.  
  502.        Q-10) Do you add/install new programs on your hard disk more
  503.              than once a month?
  504.  
  505.           A) No           B) Yes
  506.  
  507.  
  508.                        Score Scale
  509.  
  510.        Q-1)         A : 0              B: 10
  511.        Q-2)         A : -9             B: 0
  512.        Q-3)         A : 0              B: 2
  513.        Q-4)         A : 0              B: 5
  514.        Q-5)         A : 0              B: 2
  515.        Q-6)         A : 0              B: 5
  516.        Q-7)         A : 0              B: 2
  517.        Q-8)         A : 0              B: 5
  518.        Q-9)         A : 0              B: 10
  519.        Q-10)        A : 0              B: 10
  520.  
  521.        1)    Very Low Risk  : 0 - 5
  522.        2)    Low Risk       : 6 - 10
  523.        3)    High Risk      : 11 - 25
  524.        4)    Very High Risk : 26 and above
  525.  
  526.                                    Interpretation
  527.  
  528.           If your score falls in category:
  529.  
  530.        1)    Little reason to worry about viruses. Anti-viral programs
  531.              are optional for you.
  532.        2)    Your computing habits will probably isolate your computer
  533.              from getting infected. A periodic usage of an anti-viral
  534.              program is advisable.
  535.  
  536.        3)    There is a good chance you will experience a viral attack
  537.              if it has not already happened. VDS can help you reduce
  538.              your risk factor significantly.
  539.  
  540.        4)    You should not only install VDS on your system but also
  541.              re-evaluate your computing habits. You are walking on
  542.              thin ice!
  543.  
  544.  
  545.                                II. SYSTEM REQUIREMENTS
  546.  
  547.        A. Hardware & Software
  548.  
  549.        - MS/PC-DOS 3.0 or higher
  550.        - Hard disk (not compressed or encrypted)
  551.        - 384K available memory (more if many executable files)
  552.        - 500K free space on C drive
  553.        - Less than 1500 executable files per partition
  554.        - Must be installed and run from C:\VDS210 directory
  555.        - Largest file processed is 2M bytes
  556.  
  557.        B. Which files are processed
  558.  
  559.        VDS considers any file with one of the following extensions as
  560.        executable, and therefore a potential carrier of viral code:
  561.  
  562.        COM, EXE, SYS, OV?, APP, BGI, XTP, BIN, DLL, NLM, LAN, CMD,
  563.        LIB, DDR
  564.  
  565.        There may be other extensions (in fact, the extension of a file is
  566.        irrelevant to DOS  LOAD/EXEC routine), but these are the most
  567.        common ones.
  568.  
  569.  
  570.                           III. INSTALLATION
  571.  
  572.        A. Files on VDS distribution diskette
  573.  
  574. VDS distribution diskette contains the following files:
  575.  
  576.        VDS.EXE            This is the VDS program file used for
  577.                           installation and integrity checking.
  578.        WARNING.TXT        Information on incompatibilities with certain
  579.                           systems.
  580.        INSTALL.TXT        Steps to install VDS on a hard disk.
  581.        HILITES.TXT        List of key features of VDS and other
  582.                           information.
  583.        ORDERFRM.TXT       Order form you can mail in to get a registered
  584.                           copy of VDS.
  585.        WHATSNEW.TXT       List of enhancements and bug fixes since
  586.                           previous release of VDS.
  587.        VDS.TXT            This is the technical documentation for VDS
  588.        VITALFIX.EXE       This is an automated recovery utility to be
  589.                           used in the case of MBR or floppy BR
  590.                           infections.
  591.        VDSFSCAN.EXE       This is a virus identification program that
  592.                           can be used to scan floppy diskettes and
  593.                           network drives.
  594.  
  595.        *Boot Sector       This is not a file, but our special boot
  596.                           sector placed on the distribution diskettes
  597.                           and used during installation. To make a backup
  598.                           of VDS distribution diskette, you need to use
  599.                           DISKCOPY not just COPY so that the special
  600.                           boot sector is copied over as well.
  601.  
  602.        *VDSDEV.DDR        The customized device driver to do extra
  603.                           checks on system areas; very effective against
  604.                           MBR/BR viruses.
  605.  
  606.        *     Available only in the registered versions of VDS, not
  607.              trial version.
  608.  
  609.        Note:        During installation a customized device driver will
  610.                     be created. This device driver is not on the
  611.                     distribution diskette. It will be automatically
  612.                     generated by the VDS installation routine. Trial
  613.                     version does not have this feature. The purpose of
  614.                     this device driver is to provide another layer of
  615.                     integrity checks on system areas such as the master
  616.                     boot record and the command interpreter. NEVER
  617.                     ATTEMPT TO RUN THE GENERATED DEVICE DRIVER ON A
  618.                     DIFFERENT COMPUTER; IT MAY CAUSE DAMAGE TO YOUR
  619.                     MASTER BOOT RECORD IN SOME CASES.
  620.  
  621.  
  622.        B. Installing VDS
  623.  
  624. There are three simple steps to install VDS:
  625.  
  626.           1. Make a backup of the VDS distribution diskette
  627.           2. Prepare an emergency diskette
  628.           3. Install VDS on the hard disk
  629.  
  630.        The emergency diskette will be used in the case of infections
  631. that affect the master boot/partition sector or MBR (if VDS cannot
  632. repair it on the fly). The floppy restoration process requires you
  633. to use this VDS emergency diskette. If you think you can afford
  634. taking a chance on losing your partition table, which may be
  635. acceptable in a lab environment where the hard drives hold only
  636. programs not data, step 1 can be omitted. Individuals who keep
  637. their data on their hard drives are encouraged to go through step
  638. 1, the preparation of an emergency diskette. This two-minute
  639. procedure can save you much agony if one day the partition table is
  640. wiped out either by accident or by a malicious virus.
  641.        Note that the installation on the hard disk expects you to
  642. boot the computer from a floppy diskette. VDS will search the hard
  643. disk for known viruses during installation. Booting from a floppy
  644. diskette is necessary to ensure that there are no memory-resident
  645. viruses present. Also, make sure that the version of DOS on the
  646. system floppy diskette is the same as the one installed on your
  647. hard drive.
  648.  
  649.        WARNING:     IT IS EXTREMELY IMPORTANT THAT YOU DO NOT RUN ANY
  650.                     PROGRAMS OFF OF THE HARD DISK DURING INSTALLATION.
  651.  
  652.        VDS will not modify your AUTOEXEC.BAT or CONFIG.SYS without
  653. your approval. Remember, however, the VDS device driver and program
  654. should be run as early as possible. They should not cause any
  655. conflicts since neither of them are memory-resident. The device
  656. driver releases its memory after initialization.
  657.  
  658.        STEP  1:     C. Backing up the VDS distribution diskette
  659.  
  660.        -  Turn the computer OFF.
  661.  
  662.           ***       It is very important that you do NOT perform a
  663.                     warmboot by holding down Ctrl-Alt-Del keys. It is
  664.                     possible for a virus to "fake" a warmboot while it
  665.                     stays in memory.
  666.  
  667.        -  Place a write-protected, clean (preferably original) MS/PC-
  668.           DOS system diskette in drive A: and close the drive door.
  669.  
  670.        -  Turn the computer ON.
  671.  
  672.           ***       Some computers can boot from the hard disk even
  673.                     when there is a floppy diskette in drive A: and the
  674.                     door is closed. For example, some Zenith computers
  675.                     let you specify the default boot drive and save
  676.                     that information in CMOS configuration. If you have
  677.                     one of these computers, you need to modify the
  678.                     setup so that the computer can be booted from a
  679.                     floppy diskette in A: drive. After installation,
  680.                     you can set it back to boot from the hard drive.
  681.  
  682.        -  After the computer boots up, use DISKCOPY command to make
  683.           an image copy of the VDS distribution diskette. Simply
  684.           copying the files is not enough. The distribution diskette
  685.           contains a special boot sector that is needed during
  686.           installation. TRIAL version of VDS does not require a
  687.           special boot sector and can be backed up using the COPY
  688.           command. If you have two identical floppy drives, place the
  689.           original distribution diskette in drive A: and a blank
  690.           diskette in drive B:, and type the following command:
  691.  
  692.                     A:\>DISKCOPY  A:  B:  <enter>
  693.  
  694.              ***    If your computer has only one floppy diskette drive
  695.                     or one of them is 5.25" and the other one is 3.5",
  696.                     you need to use the same drive to make a backup.
  697.                     Simply insert the correct diskette when prompted.
  698.                     DISKCOPY refers to the original diskette (VDS
  699.                     distribution diskette in this case) as the SOURCE
  700.                     diskette, and the backup one as the DESTINATION
  701.                     diskette. If you receive a "Bad command or file
  702.                     name" message, that means the DOS diskette in A:
  703.                     drive does not have DISKCOPY program on it. You
  704.                     need to put the DOS diskette with the DISKCOPY
  705.                     program in A: drive before you issue the command
  706.                     shown above.
  707.  
  708.        -  Store away the original VDS distribution diskette, and
  709.           label the backup copy VDS distribution diskette. Place a
  710.           write-protect tab on the backup diskette. From now on,
  711.           whenever we refer to the VDS distribution diskette, it
  712.           means the backup VDS distribution diskette you have just
  713.           prepared.
  714.  
  715.  
  716.        STEP  2:     D. Preparing the VDS emergency diskette
  717.  
  718.        -  Turn the computer OFF.
  719.  
  720.        -  Place a write-protected, clean (preferably original) system
  721.           diskette in drive A: and close the drive door.
  722.  
  723.        -  Turn the computer ON.
  724.              ***    Some computers can boot from the hard disk even
  725.                     when there is a floppy diskette in drive A: and the
  726.                     door is closed. For example, some Zenith computers
  727.                     let you specify the default boot drive and save
  728.                     that information in CMOS configuration. If you have
  729.                     one of these computers, you need to modify the
  730.                     setup so that the computer can be booted from a
  731.                     floppy diskette in A: drive. After installation,
  732.                     you can set it back to boot from the hard drive.
  733.  
  734.        -  After the computer boots up, format a blank floppy diskette
  735.           with /S option to make it bootable. The command to do this
  736.           is:
  737.  
  738.                     A:> FORMAT   B:  /S   <enter>  or
  739.  
  740.                     A:> FORMAT   A:  /S   <enter>         if the diskette
  741.                                                           drives are of
  742.                                                           different size.
  743.  
  744.        -  Copy SYS.COM from the original system diskette onto this
  745.           diskette.
  746.  
  747.        -  Copy CHKDSK.EXE from the original system diskette onto this
  748.           diskette.
  749.  
  750.        -  Copy VDS.EXE from the VDS distribution diskette onto this
  751.           diskette.
  752.  
  753.        -  Copy VITALFIX.EXE from the VDS distribution diskette onto
  754.           this diskette.
  755.  
  756.        -  Copy VDSFSCAN.EXE from the VDS distribution diskette onto
  757.           this diskette.
  758.  
  759.        -  Copy REPAIR.BAT from the VDS distribution diskette onto
  760.           this diskette.
  761.  
  762.           *  Copy any device drivers you need to access the hard drive
  763.              onto the VDS emergency diskette. Most people can skip
  764.              this.
  765.  
  766.           *  Create a simple CONFIG.SYS file on the floppy disk
  767.              activating the device drivers above. Make sure you
  768.              activate the copy of the driver you placed onto the
  769.              floppy, not the one on the hard disk!
  770.  
  771.        -  Label it  VDS emergency. Do NOT write-protect it yet.
  772.  
  773.        -  Continue with step 3.
  774.  
  775.  
  776.        STEP  3:     E. Installing VDS on a hard drive
  777.  
  778.        -  Turn the computer OFF.
  779.  
  780.              ***    It is very important that you do not perform a
  781.                     warmboot by holding down Ctrl-Alt-Del keys. It is
  782.                     possible for a virus to "fake" a warmboot while it
  783.                     stays in memory.
  784.  
  785.        -  If you are installing a registered copy of VDS, place the
  786.           backup VDS distribution diskette in drive A:. If you are
  787.           installing a TRIAL copy of VDS, then put a MS/PC-DOS system
  788.           diskette in drive A:.
  789.  
  790.        -  Turn the computer ON.
  791.  
  792.        -  VDS distribution diskette contains a special boot sector
  793.           that initializes the system for installation. After the
  794.           system is ready, it will ask you to remove the distribution
  795.           diskette and to put a DOS system diskette in drive A:, and
  796.           to press a key to reboot. You should NOT turn off the
  797.           computer at this time. If you do not follow this procedure,
  798.           VDS will refuse to install.
  799.  
  800.        -  When asked, place a write-protected, clean (preferably
  801.           original) system diskette in drive A: and close the drive
  802.           door.
  803.  
  804.        -  Press a key to reboot.
  805.  
  806.              ***    Some computers can boot from the hard disk even
  807.                     when there is a floppy diskette in drive A: and the
  808.                     door is closed. For example, some Zenith computers
  809.                     let you specify the default boot drive and save
  810.                     that information in CMOS. If you have one of these
  811.                     computers, you need to modify the setup so that the
  812.                     computer can be booted from a floppy diskette in A:
  813.                     drive. After installation, you can set it back to
  814.                     boot from the hard drive.
  815.  
  816.        -  Run CHKDSK on every drive where you will install VDS to
  817.           make sure the files are not corrupted. If they are, correct
  818.           the discrepancies by running CHKDSK with the /F option.
  819.  
  820.                     A:> CHKDSK  C:  <enter>
  821.  
  822.        -  Place VDS distribution diskette in drive A:
  823.  
  824.        -  At the DOS prompt, type the following:
  825.        
  826.              A:\INSTALL   <enter>
  827.  
  828.              ***    <enter> means that you should press the ENTER key.
  829.  
  830.        -  VDS will authenticate itself to make sure it is not a
  831.           modified copy. You will then see the list of files and
  832.           directories scroll by as VDS is scanning for infections and
  833.           creating the baseline profile of all executable files on
  834.           the disk. There should be lots of disk activity. You can
  835.           actually observe this by looking at the drive light, or you
  836.           should at least hear the disk head move around. If VDS
  837.           finds that there are infected files, you will be asked if
  838.           VDS should remove them. If there are any infected files
  839.           left on the disk, VDS will abort installation and warn you.
  840.           A list of all infected files and the viruses detected will
  841.           be placed in C:\VDS-STAT.LOG. If all goes well, VDS will
  842.           copy itself onto the hard disk in C:\VDS210 directory. 
  843.  
  844.        -  VDS will ask you if you would like to create a backup copy
  845.           of your system areas on the emergency diskette. Answer
  846.           affirmative by pressing the 'Y' key.
  847.  
  848.        -  At the end of the installation, registered versions of VDS
  849.           will generate a customized device driver for your computer.
  850.           VDS will give you an opportunity to customize the device
  851.           driver to your liking. Specifically, you will be prompted
  852.           to add an optional message that will be embedded within the
  853.           device driver. This message will be displayed if the system
  854.           areas fail integrity checks. You will also have a chance to
  855.           choose whether you would like to have the VDS device driver
  856.           to halt the system in the case of an emergency. We
  857.           especially encourage businesses to include a message such
  858.           as "Call System Administrator x5112 ASAP!", as well as to
  859.           turn on the halt option so that the incident gets reported.
  860.           
  861.  
  862.        -  If this is the first time you are installing VDS on your
  863.           computer, it will ask you if you would like to have VDS
  864.           modify your AUTOEXEC.BAT and CONFIG.SYS to add the
  865.           necessary lines to load VDSDEV.DDR and run VDS.EXE every
  866.           time you reboot the computer. These lines will be added
  867.           only if you approve it; otherwise, you need to add them
  868.           yourself using a text editor. The original CONFIG.SYS file
  869.           will be copied to CONFIG.VDS, and the original AUTOEXEC.BAT
  870.           file will be copied to AUTOEXEC.VDS. You can write-protect
  871.           the emergency diskette at this time and store it in a
  872.           convenient location. When VDS informs you that the computer
  873.           will restart, please remove floppy diskettes immediately.
  874.           VDS will reboot the computer as soon as you press a key.
  875.  
  876.           *  If you choose not to have VDS modify your AUTOEXEC.BAT,
  877.              you should place the following line in your AUTOEXEC.BAT
  878.              as the first line.
  879.  
  880.                     C:\VDS210\VDS.EXE   -Verify
  881.  
  882.                     ***   VDS should be run from C:\VDS210 directory as
  883.                           shown above. Do not rename VDS.EXE. VDS will
  884.                           not run if it detects otherwise.
  885.  
  886.           *  If you choose not to have VDS modify your CONFIG.SYS, you
  887.              should place the following line in your CONFIG.SYS as the
  888.              first line.
  889.  
  890.                     DEVICE = C:\VDS210\VDSDEV.DDR
  891.  
  892.                     ***   VDSDEV.DDR should be loaded from C:\VDS210
  893.                           directory as shown above. Do not rename
  894.                           VDSDEV.DDR. It will not function properly if
  895.                           it detects otherwise.
  896.  
  897.        -  The computer should boot from the hard disk. If VDS is
  898.           installed correctly, you will see it verify the complete
  899.           system and tell you what it is doing at every step.
  900.  
  901.  
  902.                           IV. OPERATION of VDS
  903.  
  904. A. Operational Cycle
  905.  
  906.        After VDS has been installed on a known-to-be-clean system, a
  907. complete verification of the hard disk is done each time the
  908. machine is started. For best results, VDS should be run from the
  909. AUTOEXEC.BAT. It can also be run, just like any other program, at
  910. the user's discretion, although some TSRs loaded afterwards may get
  911. deactivated by VDS. The following chart illustrates the operational
  912. cycle on a computer protected by VDS:
  913.  
  914.                 ┌───────────────────┐
  915.                 │ virus-free system │
  916.                 └──────────┬────────┘
  917.                            │
  918.                 ┌──────────┴────────┐
  919.                 │ VDS installation  │  baseline established
  920.                 └──────────┬────────┘
  921.            ┌───────────────┤
  922.            │    ┌──────────┴────────┐
  923.            │    │      reboot       │
  924.            │    └──────────┬────────┘
  925.            │               │
  926.            │    ┌──────────┴────────┐   ┌──────────────────────┐
  927.            │    │ before DOS is     ├───┤ MBR/BR virus attack  │
  928.            │    │    loaded         │   └──────────────────────┘
  929.            │    └──────────┬────────┘
  930.            │               │
  931.            │    ┌──────────┴────────┐   ┌──────────────────────┐
  932.            │    │ DOS loads VDSDEV  ├───┤ detection/restoration│
  933.            │    │                   │   └──────────────────────┘
  934.            │    └──────────┬────────┘
  935.            │               │
  936.            │    ┌──────────┴────────┐
  937.            │    │     VDS verifies  │   ┌───────────────────────┐
  938.            │    │     the system    ├───┤ detection/restoration │
  939.            │    │                   │   └───────────────────────┘
  940.            │    └──────────┬────────┘
  941.            │               │  passed / baseline updated
  942.            │    ┌──────────┴────────┐
  943.            │    │                   │   ┌───────────────────────┐
  944.            │    │  regular use      ├───┤ virus introduced      │
  945.            │    │                   │   └───────────────────────┘
  946.            │    └──────────┬────────┘
  947.            │               │
  948.            └───────────────┘
  949.  
  950.        Note that from the point the virus enters the system until the
  951. next time the system is checked again, there is a possibility for
  952. damage. In every open system where introduction of viruses cannot
  953. be prevented, this security hole exists. Even if there is a BIOS-
  954. level, hardware-based integrity checking system in place, the virus
  955. still has the opportunity to do damage during regular use. However,
  956. the spread of viruses can be effectively contained and losses can
  957. be minimized. If a mechanism such as VDS is used, viruses are no
  958. more of a threat than an unexpected hardware failure, for which the
  959. best known cure is frequent backups. The problem intensifies
  960. because of the uncontrolled spread, not because all viruses are
  961. extremely destructive.
  962.  
  963. B. How does VDS work?
  964.  
  965.        This section omits many details about the operation of VDS on
  966.        purpose. The reader might get the idea that VDS is just
  967.        another change detector. Rest assured that it is much stronger
  968.        than any other software solution and more elegant than any
  969.        hardware solution available. We believe that not disclosing
  970.        certain information is in the best interest of the users. We
  971.        realize that this approach will not stop a determined hacker
  972.        from figuring out the details about the operation of VDS;
  973.        however, it certainly will not help him either.
  974.  
  975.        The first time VDS is installed, a baseline for all executable
  976. files and the system areas such as the master partition and the
  977. boot sector is established. A sophisticated technique based on a
  978. cryptographic checksum is used to generate unique signatures. File
  979. name, size, date, time and signature are combined to initialize the
  980. records in the database. A similar authentication scheme is also
  981. used for the VDS program itself and the database files it creates.
  982. The partition sector, boot sector, command interpreter and VDS.EXE
  983. are backed up in encoded format to reduce the risk of intentional
  984. tampering. The backups will be used if these areas need to be
  985. recovered. The MBR/BR backups on the emergency diskette are not
  986. encoded.
  987.        When VDS is run, it creates a temporary database. It also
  988. verifies the integrity of its own code. If it finds that no
  989. tampering has taken place, VDS introduces decoys (small executable
  990. programs created at run-time) to the system to see if an active
  991. virus will take the bait. Under normal circumstances, there is no
  992. legitimate reason why these decoys should be altered by any
  993. program. If the decoys are attacked, this indicates the presence of
  994. a virus with great accuracy. VDS will tell you whether the attacker
  995. was of STEALTH or DUMB variety. If the modifications are masked by
  996. the virus, it is considered to be STEALTH, and DUMB otherwise. VDS
  997. uses a proprietary triple-pass verification mechanism to detect if
  998. the virus attempted to mask the modifications it has made.
  999.        On the other hand, some viruses do not fall for decoys that
  1000. easily. Their propagation pattern is less predictable. If the virus
  1001. activates, however, it will be captured and placed in either
  1002. POV.CCC or POV.XXX (an acronym for Prisoner Of VDS) depending on
  1003. which decoy it attacks. POV files can later be used to analyze the
  1004. captured intruder. The reason for the strange extensions (XXX
  1005. instead of EXE and CCC instead of COM) is to prevent activation of
  1006. the virus if someone runs the POV files inadvertently. If you
  1007. capture an intruder, please mail it to us on a diskette for
  1008. interrogation, i.e. examination!  You will have an opportunity to
  1009. place the captured intruder in a file of your choosing, preferably
  1010. on a floppy diskette.
  1011.        VDS will verify the system areas and the executable files. It
  1012. will generate a report on modified files, newly added files, and
  1013. files deleted since the last time VDS was run. The user is given an
  1014. opportunity to override any alarms that may be set off. The
  1015. database is updated if necessary. Note that moving a program file
  1016. from one directory to another will be reported as deleted from the
  1017. old directory and added to the new directory. If any changes in the
  1018. form of infection, software configuration, addition or deletion of
  1019. files are encountered, VDS creates VDS-STAT.LOG file in the
  1020. C:\VDS210 directory. This is an ASCII text file and can be printed
  1021. or viewed easily. It contains a date and time line showing when VDS
  1022. has run. It is very useful to check this log when an infection is
  1023. discovered to find out how the virus was introduced to the system.
  1024.        If suspicious modifications appear, VDS attempts to identify
  1025. any virus(es) that may be responsible for the changes. A report of
  1026. all identified viruses and the victims affected as well as date and
  1027. time of operation will be appended to C:\VDS-STAT.LOG file. VDS
  1028. looks for known viruses in all newly added files to provide early
  1029. identification of viruses introduced to the system. If no known
  1030. viruses are identified, then the names of scanned files will be
  1031. written to C:\VDS-STAT.LOG. If a file is determined to be modified,
  1032. the user will be given a chance to positively erase it. Positive
  1033. erase means that the file will be overwritten to the end of the
  1034. last cluster it occupies and then deleted. This operation is
  1035. necessary since DOS leaves the contents of erased files intact. It
  1036. only removes the file access information from its tables.
  1037.        Although the developers of VDS do not place much emphasis on
  1038. knowing the cute names of viruses, this feature is provided so the
  1039. curious user does not have to buy a virus scanner for
  1040. identification purposes. Please remember that the main goal of VDS
  1041. is to detect most possible viruses, not to identify all known ones
  1042. by name. Patterns extracted from most known viruses are publicly
  1043. available. An average programmer can come up with a little program
  1044. that looks for certain strings in a given file (although it may be
  1045. slower than the commercial scanning utilities). Paying for such a
  1046. utility is not a wise investment. Besides, VDS examines all
  1047. possibly executable files and the system areas such as the
  1048. partition/boot sector to determine whether a known virus is present
  1049. during installation. You can also use VDSFSCAN.EXE to search your
  1050. network drives and diskettes for common viruses.
  1051.        The user can examine reported files at his discretion, and
  1052. take whatever action he deems necessary. When a possible viral
  1053. attack is detected, our recommendation is to turn off the computer,
  1054. boot from a write-protected floppy (preferably the VDS emergency
  1055. diskette prepared during installation), and replace the suspicious
  1056. files with the originals. VDS does not attempt to remove the
  1057. viruses that it identifies (assuming it is possible to remove,
  1058. which is not the case with many viruses). In the case of infected
  1059. files, so-called virus cleaning software is NOT recommended, and is
  1060. not necessary. These utilities can be convenient to treat
  1061. infections that affect other areas of the disk such as the master
  1062. boot record (MBR). Many computer users might find it confusing to
  1063. fiddle with the disk at a low level, and do more harm while trying
  1064. to fix the problem. In most cases, VDS will restore the
  1065. partition/boot sector automatically.
  1066.        VDS provides a CURE option that will repair the partition
  1067. sector using the backup copy saved on VDS emergency diskette. If
  1068. you did not prepare an emergency diskette, and the hard disk
  1069. becomes inaccessible, then you should either use VITALFIX.EXE or
  1070. try a manual recovery. In most cases, any experienced computer user
  1071. can restore the disk by following simple instructions. We strongly
  1072. suggest that you backup your master boot record on a floppy
  1073. diskette. You can use VITALFIX for this operation.
  1074.  
  1075.  
  1076. C. VDS Device Driver
  1077.  
  1078.        Registered versions of VDS will create a customized device
  1079. driver for your computer during installation. The purpose of this
  1080. device driver is to detect any modifications to system areas. These
  1081. areas include:
  1082.  
  1083.        1.    Master Boot Record (MBR)
  1084.        2.    Boot Record (BR) of the active partition
  1085.        3.    C:\COMMAND.COM (or user-specified command shell)
  1086.        4.    DOS system files (named IBMBIO.COM and IBMDOS.COM on some
  1087.              systems)
  1088.        5.    C:\VDS210\VDS.EXE
  1089.        6.    C:\VDS210\VDSDEV.DDR (self)
  1090.        7.    Base memory size (after taking EBDA -extended BIOS data
  1091.              area- present on some PS/2s and clones into
  1092.              consideration)
  1093.  
  1094.        If modified, the device driver (VDSDEV.DDR) will attempt to
  1095. recover the affected areas in the case of MBR and BR. If only the
  1096. partition table is modified, not the loader code in MBR, then
  1097. VDSDEV.DDR will issue a warning message and not attempt recovery.
  1098. This eliminates the possibility of causing damage if the device
  1099. driver was not installed but simply copied over from another
  1100. computer. If all system areas pass the integrity checks, then you
  1101. will not notice any difference in the operation of your computer
  1102. (except for our "glorious" copyright message). VDSDEV.DDR adds 3-5
  1103. seconds to boot-up time.
  1104.  
  1105. Additional features include:
  1106.  
  1107.        - Capturing MBR/BR viruses in a file
  1108.        - Option to halt the system in the case of infections
  1109.        - Customized (user-supplied) message display
  1110.        - 0-K memoryless operation!
  1111.        - 0-conflict operation!
  1112.        - Superior handling of MBR/BR viruses and other system
  1113.        infectors
  1114.  
  1115.        The installation procedure will provide you with an
  1116. opportunity to include your customized message in the device
  1117. driver. This message will be displayed if a suspicious modification
  1118. is found. You will also be able to specify whether you would like
  1119. to have the device driver to halt the computer in the case of a
  1120. suspicious modification. If the system administrator wants to have
  1121. strict control over such incidents, it is a good idea to turn on
  1122. this option accompanied with a message to contact the system
  1123. administrator.
  1124.        In the long run, the system administrator will be able to keep
  1125. track of all incidents and contain the spread of viral infection.
  1126. Once the spread is contained, the threat of viruses becomes
  1127. insignificant.
  1128.        Assuming you chose to halt the CPU in the case of a
  1129. modification and that MBR was found to be modified, here is an
  1130. example message that you may get when the hard drive is attacked by
  1131. the Stoned-2 virus:
  1132.  
  1133.           VDSDEV 2.10  Copyright (c) 1992 VDS Advanced Research Group
  1134.  
  1135.           Unusual base memory size. Possible MBR/BR virus.
  1136.  
  1137.           MBR on first hard disk failed integrity check. Possible
  1138.           virus.
  1139.           Attempting to recover MBR . . .
  1140.        -->   Call PC System Administrator x5112 Immediately!
  1141.                     Initiating immediate CPU shut-down
  1142.                           *** CPU Halted ***
  1143.  
  1144.        You will also hear a beep. If you choose not to halt the
  1145. system, then the device driver will reboot the computer after
  1146. recovery attempt. In most cases, the recovery will be successful,
  1147. and there is no need for further action. At any rate, it is
  1148. advisable to check the floppy diskettes recently used on that
  1149. computer. You should also examine C:\VDS210\VDS-STAT.LOG for more
  1150. information.
  1151.        The only time the recovery may not result in a clean system is
  1152. when a multi-partite virus attacks. Such viruses can infect both
  1153. executable files and MBR or BR. Even if the device driver fixes,
  1154. say MBR, it will be reinfected by the virus as soon as an infected
  1155. program is run later on. In that case, the device driver will
  1156. recover and reboot every time. For this reason, it is a good idea
  1157. to choose to halt the CPU and boot from a system floppy diskette
  1158. and then eliminate the virus.
  1159.        Since the recovery operation restores the original contents of
  1160. the MBR or BR, the virus will no longer be present. To determine
  1161. the cause of modification, and get a better idea about which virus
  1162. you are dealing with, the device driver will place the contents of
  1163. the modified area in a file. If MBR is modified, the file will be
  1164. named C:\VDS210\MBR.DAT and if it is BR, the file will be named
  1165. C:\VDS210\BR.DAT. You can examine the contents of this file later
  1166. on. If you find that it was a known virus, then you should
  1167. definitely search the floppy diskettes used on that computer for
  1168. that particular virus. If it is a new virus, it may still be
  1169. possible to extract a pattern to search for. You are also
  1170. encouraged to send a copy to the developers of VDS.
  1171.        In our tests, we have found the VDS device driver to be
  1172. extremely effective against system infectors such as Stoned, NoInt,
  1173. 4096 and others. If nothing else, you should at least have
  1174. VDSDEV.DDR as a first line of defense against viruses. If you
  1175. experience any problems, please let us know so we may determine the
  1176. cause and come up with a viable solution. Please remember that the
  1177. VDS device driver created for one computer should not be run on a
  1178. different computer; otherwise, it may cause damage to the MBR.
  1179.  
  1180. Technical Details
  1181.  
  1182.        Some people may wonder how we can claim that our device driver
  1183. will not take up any memory and that it will not conflict with most
  1184. other programs. The reason is quite simple: VDSDEV.DDR goes away
  1185. after it completes its mission (which is to detect suspicious
  1186. modifications to the system areas) and releases the memory it is
  1187. given by DOS. Since it does not change any interrupt vectors, there
  1188. should not be any conflicts with other programs.
  1189.        This approach differs from other anti-viral products that
  1190. provide a memory resident or device driver level defense against
  1191. viruses. They implement an active monitor that is always in memory
  1192. and watching for suspicious activity. Although this may sound more
  1193. secure, we consider such an implementation overkill as well as
  1194. inelegant for several reasons.
  1195.        The first reason is obvious: it takes up a chunk of precious
  1196. 640K memory. This problem can be minimized under DOS 5.0 if it is
  1197. possible to load the program high. Not everyone has DOS 5.0 and
  1198. some computers cannot take advantage of this feature at all.
  1199.        The second reason is that it may conflict with other programs.
  1200. Some of these products may even cause damage to your files since
  1201. most active monitors intercept disk access. It is possible to
  1202. design a very robust and reliable program; however, other
  1203. applications may not be so well-behaved and still create such
  1204. problems.
  1205.        The third reason is the degradation of overall system
  1206. performance. Most active monitors are quite aggressive policing
  1207. every disk activity that takes place. The price is CPU cycles and
  1208. increased disk access time.
  1209.        The fourth reason is that these products are useless against
  1210. certain types of viruses. They attempt to stop viruses before they
  1211. can get into the computer. Some viruses can completely bypass all
  1212. monitors and spread infection easily. Such viruses reduce the
  1213. monitoring mechanism to "playing catch" in memory.
  1214.        Even worse, booting from an infected floppy diskette may cause
  1215. the hard drive to get infected. So-called "Stoned" virus is able to
  1216. spread in this manner although it is one of the less advanced
  1217. beasts.
  1218.        The fifth reason is the frequency of false alarms these
  1219. products issue even when a legitimate program is accessing the
  1220. files. After some time, users tend to either ignore almost all
  1221. alarms or remove the anti-viral program from their machines.
  1222.        Another reason is more personal and debatable. It has to do
  1223. with evaluating your risk factor and determining what kind of a
  1224. solution is more appropriate. Here are some questions we suggest
  1225. that you should ask yourself:
  1226.  
  1227.        1.    Is it worth having an active TSR (terminate-and-stay-
  1228.              resident monitor, implemented either as a device driver
  1229.              or a regular program) that can cause conflicts, take up
  1230.              memory, degrade system performance, and issue many false
  1231.              alarms while being prone to certain viruses?
  1232.  
  1233.        2.    Is it sufficient to have a device driver level integrity
  1234.              checking mechanism that takes no more than 3-5 seconds
  1235.              only once during boot-up, does not use up any memory,
  1236.              does not cause conflicts with other programs but one that
  1237.              is still 99% effective?
  1238.  
  1239.  
  1240.        What makes the answers to these questions debatable is how to
  1241. measure effectiveness. Our stand on this is obvious. Nevertheless,
  1242. please take a moment to look at the "big picture" without paying
  1243. attention to marketing hype and other irrelevant criteria presented
  1244. by some other anti-viral product developers. Ask yourself how many
  1245. viruses attacked your computers over the past two years. Ask
  1246. yourself how many times you had to deal with non-virus related
  1247. conflicts between programs or hardware failures. Evaluate your risk
  1248. factor in simple terms. Is all your important data backed up on at
  1249. least two sets of storage media? Are all your original program
  1250. diskettes write-protected?  Do you have a copy of your partition
  1251. table?  Do you know your hard drive type as designated in CMOS? How
  1252. many times a month do you download software from faraway BBSes? Do
  1253. you frequently play games (that you borrow from your friends) on
  1254. your computer? Do you let other people use your computer often?
  1255. When was the last time you added many different programs to your
  1256. hard disk? The list of questions can go on and on.
  1257.        Let us make it clear that we do not intend to paint a scary
  1258. picture for no reason. These are the types of questions everyone
  1259. who wishes to practice safe-computing should ask himself. Our
  1260. recommendation is: Take sensible, simple precautions against both
  1261. viruses and other forms of potential damage to your computing
  1262. resources and data. There is no need to become paranoid and lose
  1263. your perspective.
  1264.        All of the programs in the VDS package are designed to provide
  1265. a simple but effective way to contain the spread of computer
  1266. viruses that target PCs running MS/PC DOS. The only way to stop
  1267. viruses (ignoring theory for a moment) is by containing their
  1268. spread and reducing them to rare occurrences. This is the essence
  1269. of our approach to solving this high-tech problem.
  1270.        We have seen sites where the "Stoned" virus reigned supreme.
  1271. It was like a permanent attachment to users' disks. Worse yet,
  1272. people were convinced that it was impossible to get rid of it
  1273. completely since it had a habit of coming back. It was only three
  1274. weeks after installation of VDS that Stoned became a nightmare of
  1275. the past.
  1276.        Then there was "Jerusalem" with a little black box appearing
  1277. on the screen for no obvious reason. It did not even survive as
  1278. long as Stoned did.
  1279.        Everyone at that site heard about computer viruses, most of
  1280. them had one in their machines. A few people even heard about
  1281. theories that prove why viruses cannot be stopped. They do not
  1282. believe those theories any more. They believe there are effective
  1283. solutions such as VDS. If you need convincing, please give VDS a try.
  1284.  
  1285. D. VDSFSCAN
  1286.  
  1287.        VDSFSCAN is an easy-to-use virus scanner that works on DOS-
  1288. compatible drives, including LAN server drives. It offers two modes
  1289. of operation: interactive and command-line. Interactive mode is
  1290. based on a simple menu system that makes it very easy to access
  1291. advanced features of VDSFSCAN, and it offers context-sensitive help
  1292. (F1 key). Command-line mode can be activated from batch files. It
  1293. accepts various options to customize the operation of VDSFSCAN.
  1294. Once VDSFSCAN is loaded in memory, you can scan multiple diskettes
  1295. easily.
  1296.  
  1297.        The main menu offers six options to choose from:
  1298.  
  1299.           1. Set Options
  1300.              a. Target Drive
  1301.                     i) Selected from a scrollable list of drives
  1302.              b. Scan Whole File (YES/NO)
  1303.              c. Scan All Files (YES/NO)
  1304.              d. Scan Every Drive (YES/NO)
  1305.              e. Recursive (YES/NO)
  1306.              f. Erase Infected Files (YES/NO)
  1307.              g. Generate Report (YES/NO)
  1308.              h. Log Errors (YES/NO)
  1309.              i. Network Drive (YES/NO)
  1310.              j. Multiple Infections (YES/NO)
  1311.              k. Wildcard specification (*.* by default)
  1312.              l. Quiet mode (YES/NO)
  1313.              m. Pause flag (YES/NO)
  1314.  
  1315.           2. Scan Drive
  1316.              Will search boot sectors if the target drive is A:, B:,
  1317.              or C:, as well as program files on the disk.
  1318.  
  1319.           3. Scan Directory
  1320.              Subdirectories within subdirectories will be explored if
  1321.              the recursive option is set to YES
  1322.  
  1323.           4. Scan File
  1324.              Certain areas of executable files will be searched for
  1325.              known viruses. If the Whole File option is set to YES,
  1326.              the file will be searched in its entirety. If the All
  1327.              Files option is set to YES, then every file will be
  1328.              examined, regardless of its type.
  1329.  
  1330.           5. Scan MBR/BR
  1331.              Master boot sector (hard disk only) and boot sector of
  1332.              the target drive (only for A:, B:, and C: drives) will
  1333.              be searched for viruses known to reside in these areas.
  1334.              If a virus is identified, VDSFSCAN will offer to remove
  1335.              the virus. You will also have the option to place a copy
  1336.              of the affected area in a file for examination.
  1337.           6. Quit
  1338.              Ends the session. ESC key serves a similar purpose.
  1339.  
  1340.        You can move between selections using the up and down arrow
  1341. keys and press ENTER to activate the item you selected.
  1342. Alternatively, you can press the highlighted letter of a selection.
  1343. ESC key will get you out of a menu, or it will prompt you to stop
  1344. the search operation during virus scan. CTRL-BREAK will also prompt
  1345. you to stop the search.
  1346.        We encourage users to start their computer with a clean,
  1347. write-protected, and bootable DOS system diskette to ensure that no
  1348. viruses are active in memory while scanning. Some viruses
  1349. manipulate file access and try to hide their existence or spread
  1350. the infection to other programs. Although, VDSFSCAN will attempt to
  1351. check for such viruses, the only guaranteed way to do an untampered
  1352. search is after booting the computer from a clean system diskette.
  1353.        VDSFSCAN will also check its own program file to make sure it
  1354. is not modified, possibly indicating a virus infection. In such
  1355. cases, it will warn you with a message, and abort its operation. We
  1356. prefer the user to run an unmodified copy of VDSFSCAN to ensure
  1357. correct operation.
  1358.        In the case of boot sector infections, VDSFSCAN will ask you
  1359. if you would like to remove an identified virus. This option
  1360. applies to master boot sectors on hard drives and boot sectors on
  1361. floppy drives. You should use the SYS program included with DOS to
  1362. remove boot sector infectors from the active partition of a hard
  1363. drive or to keep a system floppy diskette bootable. When VDSFSCAN
  1364. removes a virus from the boot sector of a floppy diskette, it
  1365. constructs a BPB (BIOS Parameter Block) for the diskette and adds
  1366. instructions to display a message you would get from a non-bootable
  1367. diskette. In any case, the viral code will be overwritten. In the
  1368. case of the hard drive master boot sector, VDSFSCAN keeps the
  1369. partition table intact and replaces the loader code, again
  1370. overwriting any viral instructions. It will also attempt to verify
  1371. that the partition table actually corresponds to the disk layout.
  1372.  
  1373. E. Scenarios and Messages
  1374.  
  1375.        During its operation, VDS may issue several warning messages.
  1376. Following is a list of scenarios that will highlight common
  1377. warnings, their reasons, and recommended actions to take.
  1378.  
  1379.        Message:     COMMAND.COM is modified. Will attempt to restore.
  1380.        Reason:      This message refers to the DOS interpreter that
  1381.                     displays the prompts, runs other programs, and
  1382.                     controls file access.
  1383.        Action:      VDS will attempt to restore it by using the backup
  1384.                     copy of COMMAND.COM stored in C:\VDS210 directory
  1385.                     during installation and rebooting the system. After
  1386.                     the system comes back up, VDS will repeat the
  1387.                     verification process. If COMMAND.COM fails
  1388.                     verification this time, VDS will abort operation
  1389.                     and ask you to boot from a write-protected floppy
  1390.                     diskette and run REPAIR.
  1391.  
  1392.        Message:     Partition sector modified. Will attempt to restore.
  1393.        Reason:      There is a good chance that either a partition
  1394.                     sector infector has entered the system, or some
  1395.                     other damage to the partition sector has occurred.
  1396.                     Some non-standard versions of DOS (Zenith etc.)
  1397.                     supposedly modify the partition sector, and use
  1398.                     certain areas to store variable information. VDS
  1399.                     does a complete check and makes no provisions for
  1400.                     non-standard systems. We have no intention of
  1401.                     compensating for such a bizarre utilization of
  1402.                     system areas by these vendors.
  1403.        Action:      VDS will attempt to restore the partition sector
  1404.                     and reboot the system. If the verification fails
  1405.                     again, VDS will abort the restoration attempt and
  1406.                     recommend a floppy recovery using the VDS emergency
  1407.                     diskette.
  1408.  
  1409.        Message:     No message, VDS simply hangs the machine.
  1410.        Reason:      If VDS has been running just fine, but stopped
  1411.                     functioning now, then VDS.EXE may be corrupted
  1412.                     either by accident or by an overwriting virus which
  1413.                     failed to preserve its victim's operation. It is
  1414.                     also possible that some TSR program caused a
  1415.                     conflict. Assuming VDS runs as the first program in
  1416.                     your AUTOEXEC.BAT file, and CONFIG.SYS is not
  1417.                     modified, you should assume the worst case: a virus
  1418.                     attack.
  1419.        Action:      Reboot the computer from VDS emergency diskette or
  1420.                     a write-protected known-to-be-clean system
  1421.                     diskette. If you have prepared the VDS emergency
  1422.                     diskette, then run VDS from A drive with the CURE
  1423.                     option:
  1424.                      A:\VDS  -C  <enter>
  1425.  
  1426.                     * You can simply run REPAIR.BAT
  1427.  
  1428.        Message:     VDS requires DOS 3.0 or higher to run.
  1429.        Reason:      The version of DOS installed on your computer was
  1430.                     below 3.0.
  1431.        Action:      You need to upgrade to DOS 3.0 or above. VDS will
  1432.                     not run on systems with a lower DOS version.
  1433.  
  1434.        Message:     VDS cannot initialize.
  1435.        Reason:      VDS could not initialize its data structures.
  1436.        Action:      Assume it is a virus attack and run VDS from a
  1437.                     floppy diskette using CURE option. If this happens
  1438.                     during installation you either have a non-standard
  1439.                     hard drive or another conflict has occurred.
  1440.                     Certain security programs that encrypt the master
  1441.                     boot record will also cause this conflict. If that
  1442.                     is the case, you have to either forego these other
  1443.                     programs or VDS. Non-standard partitions (e.g.,
  1444.                     those created by Ontrack Disk Manager) may cause
  1445.                     this message as well.
  1446.  
  1447.        Message:     Error occurred during installation.
  1448.        Reason:      This is a generic message that indicates a
  1449.                     malfunction during installation.
  1450.        Action:      You should see some other error messages come up
  1451.                     before this one. The cause can be determined based
  1452.                     on those. Go back and check if you followed all the
  1453.                     steps in the installation procedure.
  1454.  
  1455.        Message:     Error occurred during verification.
  1456.        Reason:      This is a generic message that indicates a
  1457.                     malfunction during verification.
  1458.        Action:      You should see some other error messages come up
  1459.                     before this one. The cause can be determined based
  1460.                     on those. Go back and check if you have changed
  1461.                     anything on your system, such as adding a device
  1462.                     driver to your CONFIG.SYS and so on.
  1463.  
  1464.        Message:     VDS cannot continue operation; Aborting . . .
  1465.        Reason:      VDS detected an unstable environment.
  1466.        Action:      Make sure you followed the installation
  1467.                     instructions. Another reason is attempting to run
  1468.                     VDS under a debugger.
  1469.  
  1470.        Message:     You have to coldboot the computer from floppy disk.
  1471.        Reason:      CURE and INSTALL options require that the computer
  1472.                     is booted from a DOS system floppy diskette.
  1473.        Action:      Turn the computer off. Place a bootable DOS
  1474.                     diskette in drive A: and turn the computer on.
  1475.  
  1476.        Message:     You must cancel ASSIGN before running VDS.
  1477.        Reason:      VDS detected that ASSIGN was active.
  1478.        Action:      This TSR program comes with DOS and allows users to
  1479.                     modify the way DOS and other programs access the
  1480.                     file system by making one drive letter correspond
  1481.                     to another one. Not to cause any conflicts, VDS
  1482.                     refuses to run under such circumstances. You should
  1483.                     run VDS before this program.
  1484.  
  1485.        Message:     Boot from VDS distribution diskette for
  1486.                     installation.
  1487.        Reason:      The computer was not booted using the VDS
  1488.                     distribution diskette.
  1489.        Action:      INSTALL option requires that the computer is first
  1490.                     coldbooted from the VDS distribution diskette and
  1491.                     then a DOS system floppy diskette when you are
  1492.                     asked to do so. Please follow the installation
  1493.                     instructions. This message applies only to the
  1494.                     registered versions of VDS. Trial version does not
  1495.                     come with a special distribution diskette.
  1496.  
  1497.        Message:     VDS cannot locate SELFDATA.VDS; Aborting . . .
  1498.        Reason:      VDS could not find its database file.
  1499.        Action:      This file is located in C:\VDS210 directory. It is
  1500.                     created during installation and updated when
  1501.                     necessary. You should not delete it. Reinstalling
  1502.                     VDS is the only way to recreate it. If you would
  1503.                     like to backup this information, make sure you also
  1504.                     backup the CVDSDATA.VDS files.
  1505.  
  1506.        Message:     Different DOS version. If you upgraded DOS,
  1507.                     reinstall VDS.
  1508.        Reason:      DOS version during installation was different than
  1509.                     the current one.
  1510.        Action:      The system floppy used during installation should
  1511.                     have the same DOS version you have on the hard
  1512.                     disk.
  1513.  
  1514.        Message:     Operation of VDS is affected. Cannot continue.
  1515.        Reason:      VDS could not establish a secure environment.
  1516.        Action:      If this message comes up after VDS has been working
  1517.                     okay, then a virus infection is possible. It is
  1518.                     also possible that you added a program that
  1519.                     modified the hard disk in an unconventional manner.
  1520.  
  1521.        Message:     Need 512K free space on hard disk to install VDS.
  1522.        Reason:      VDS found that there is not enough space on the
  1523.                     hard disk.
  1524.        Action:      You should delete some files to free up space on
  1525.                     the hard disk and then try to run VDS again.
  1526.  
  1527.        Message:     Suspicious modifications detected.
  1528.        Reason:      VDS has found that some executable files have been
  1529.                     modified.
  1530.        Action:      First take a look at the C:\VDS210\VDS-STAT.LOG to
  1531.                     find out if any viruses were identified. If some
  1532.                     files are determined to be infected by a virus,
  1533.                     note their names either by printing this file or
  1534.                     writing down their names. Also look at
  1535.                     C:\VDS210\VDS-STAT.LOG to find out other modified
  1536.                     files. Again, either print this file or write down
  1537.                     the names of the modified files. If you cannot
  1538.                     remember why any of these modifications should have
  1539.                     occurred, then assume they are also infected by a
  1540.                     virus (safe than sorry). Reboot your computer from
  1541.                     a write-protected system diskette (preferably VDS
  1542.                     emergency diskette), and replace all the suspicious
  1543.                     files with the originals. You can use CURE option
  1544.                     to eliminate the possibility of a boot/partition
  1545.                     sector infection (again VDS would have told you if
  1546.                     they were modified). Now reboot the computer from
  1547.                     the hard disk. Depending on the results follow the
  1548.                     procedure above until everything passes the
  1549.                     verification test. In most cases, only a few files
  1550.                     will be infected and this procedure will be very
  1551.                     simple. Having an early detection will contain the
  1552.                     spread of infection. In the long run, viruses will
  1553.                     no longer be a serious threat to your computer
  1554.                     system.
  1555.  
  1556. F. Command Line Options/Flags
  1557.  
  1558.     VDS   [{-|/} ? | I | C | H | T | V]  [LCD | E | W | X]  [D:]  [n]
  1559.  
  1560.        D:    Drive to process
  1561.        n     number of logical drives starting from C
  1562.  
  1563.           Options
  1564.  
  1565.        H(elp), ?    explains command line options and flags
  1566.        I(nit)       used to install VDS the first time
  1567.        C(ure)       used to recover from partition/boot sector
  1568.                     infections
  1569.        V(erify)     used to look for modifications (default option)
  1570.        T(urbo)      less accurate but fast verification of system areas
  1571.                     and files
  1572.  
  1573.           Flags
  1574.  
  1575.        LCD          forces to use monochrome attributes, easier to read
  1576.                     on laptops, or monochrome systems with a color card
  1577.        E(rase)      infected files will be deleted without prompting
  1578.                     for confirmation
  1579.        W(hole)      will scan files completely, default is partial scan
  1580.        X(clude)     run in compatibility mode
  1581.  
  1582.        The options and flags must be immediately preceded either with
  1583. a '-' or '/'. If no option is specified, VDS will default to
  1584. VERIFY. You need to specify only the first letter of an option. The
  1585. order may be reversed so that the number of drives are specified
  1586. before the options. If you enter more than seven command line
  1587. arguments, only the first seven will be recognized, and the rest
  1588. will be ignored. All options are disjoint, meaning that you can
  1589. specify only one of them. The flags can be used together with each
  1590. other and the options, although the CURE option ignores everything
  1591. else. For example, you cannot have both CURE and VERIFY at the same
  1592. time; but it is acceptable to use TURBO, ERASE, and WHOLE together.
  1593. If you would like to do a turbo check of C: drive and delete the
  1594. infected files, type the following:
  1595.  
  1596.           C:\VDS210\VDS.EXE  -T -E  C:  <enter>
  1597.  
  1598.        The colon (:) after the drive letter is required. The drive
  1599. letter must be C or higher. The list of deleted files that had a
  1600. virus will be placed in C:\VDS-STAT.LOG. If you press the ESC key
  1601. during scan, VDS will ask you if you would like to stop the
  1602. operation. If you answer affirmative, it will abort the scanning
  1603. process except during installation.
  1604.  
  1605. G. Common Questions and Answers
  1606.  
  1607.           This section addresses some common questions about VDS.
  1608.  
  1609.        Q -   Do I have to know a lot about viruses to be able to use
  1610.              VDS on my system?
  1611.  
  1612.        A -   Not at all. One of the design goals was to create a
  1613.              program that can be easily used by novice computer users.
  1614.              Viruses present some unique complexities even to the
  1615.              experienced computer security experts. VDS can alleviate
  1616.              most virus-related problems automatically. You are,
  1617.              however, encouraged to become familiar with general
  1618.              guidelines to deal with computer viruses.
  1619.  
  1620.        Q -   Where is VDS version 1.0?
  1621.  
  1622.        A -   The first version was installed at a few selected test
  1623.              sites. Many changes and improvements are incorporated
  1624.              into versions 2.0 and 2.10, which are the ones that we
  1625.              distribute publicly.
  1626.  
  1627.        Q -   Can I run VDS under MS Windows 3.0 & 3.1?
  1628.  
  1629.        A -   Yes, you can. We recommend that you either create a PIF
  1630.              file with full window option on, or shell to DOS first.
  1631.              Do not try to switch tasks while VDS.EXE is running.
  1632.              Using the -Xclude option can help avoid system lockup.
  1633.              VDSFSCAN can run in the background. VITALFIX should NEVER
  1634.              be run from inside Windows since it accesses the hard
  1635.              disk directly.
  1636.  
  1637.        Q -   Is VDS compatible with DOS 4.01 and 5.0?
  1638.  
  1639.        A -   Yes, indeed!  We have tested VDS on various systems
  1640.              running MS/PC DOS 3.0. 3.1, 3.2, 3.3, 4.01 and 5.0. We
  1641.              did not encounter any problems. Please let us know if you
  1642.              do.
  1643.  
  1644.        Q -   Can I run VDS under OS/2?
  1645.  
  1646.        A -   Maybe. You can run it in OS/2 DOS box in a limited
  1647.              fashion. Please specify the -Xclude option to avoid
  1648.              conflicts.
  1649.  
  1650.        Q -   I have a program that requires to be run before other
  1651.              programs in AUTOEXEC.BAT. Since VDS should be the first
  1652.              program to run, how can I resolve this conflict?
  1653.  
  1654.        A -   There is no conflict from a technical point of view. The
  1655.              other programs that force you to run them first usually
  1656.              revector several interrupts to their memory resident
  1657.              code. If another program grabs these interrupts, then
  1658.              they would not be able to guarantee proper operation.
  1659.              Running VDS as the first program does not affect these
  1660.              programs since VDS is not memory-resident and it does not
  1661.              hook any interrupts. VDS can be classified as an
  1662.              integrity shell; although in the current implementation,
  1663.              once it is finished verifying the system, it simply goes
  1664.              away. If you run other resident programs, however, they
  1665.              may conflict with the operation of VDS, and probably get
  1666.              disabled by VDS (depending on the order of execution
  1667.              during setup). The solution is to run VDS as the very
  1668.              first program in AUTOEXEC.BAT. Remember that the other
  1669.              programs need protection against viruses as well. If VDS
  1670.              runs first, it can check them before a possibly infected
  1671.              program is run. If VDS itself is infected, it will notice
  1672.              that fact and warn you.
  1673.  
  1674.        Q -   What is the purpose of the VDS device driver?  Will it
  1675.              cause conflicts with other device drivers that I have?
  1676.  
  1677.        A -   The purpose of the VDS device driver is to ensure that
  1678.              the system areas are not modified. These areas include
  1679.              the MBR, active partition's boot record, DOS system files
  1680.              and COMMAND.COM. The device driver will also check itself
  1681.              and C:\VDS210\VDS.EXE to make sure they are not modified.
  1682.              In our tests, the VDS device driver was able to detect
  1683.              all MBR and BR viruses as well as other system infectors
  1684.              that target COMMAND.COM. The operation of the device
  1685.              driver will be transparent (except for our "glorious"
  1686.              copyright message) unless a suspicious modification is
  1687.              detected.
  1688.              No, the VDS device driver should not cause any conflicts
  1689.              with other device drivers or programs as long as it is
  1690.              loaded first. Unlike many other device drivers, it simply
  1691.              goes away after initialization, releasing all memory it
  1692.              was given by DOS during loading. Just place the VDS
  1693.              device driver as the first command in your CONFIG.SYS and
  1694.              everything should be just fine. Our philosophy is to
  1695.              provide a non-intrusive, non-conflicting anti-viral
  1696.              program that is easy to use.
  1697.              Remember, however, that the device driver is not intended
  1698.              to run on any other  computer besides the one it was
  1699.              customized for. If you attempt to use it on a different
  1700.              computer, damage to your MBR is likely.
  1701.  
  1702.        Q -   Does VITALFIX work on IDE drives?
  1703.  
  1704.        A -   Yes, it does. VITALFIX is compatible with all types of
  1705.              hard drives currently in use. This includes drives with
  1706.              MFM, RLL, IDE, SCSI, and ESDI controllers. The only
  1707.              problem we have come across was on disks that used a
  1708.              compression or security program that rendered the disk
  1709.              unreadable unless all access was done through the
  1710.              interface these programs provided. VITALFIX cannot
  1711.              tolerate such restrictions since it must have direct
  1712.              access to the bare drive. Anything less would open up a
  1713.              security loophole if a virus is active when VITALFIX is
  1714.              operating. It is always a good idea to boot the computer
  1715.              from the original DOS diskette before using VITALFIX. As
  1716.              a precaution, VITALFIX checks the partition table to find
  1717.              out if the drive has any non-DOS partitions, and will
  1718.              warn you if this is the case. In some cases, the
  1719.              partition table may not be available to make that
  1720.              determination. If you know you have non-DOS partitions
  1721.              or compressed partitions, we strongly suggest that you
  1722.              do not use VITALFIX to perform any of the functions that
  1723.              involve writes to the disk.
  1724.  
  1725.        Q -   My computer is infected with a virus already. How can I
  1726.              use VDS to deal with this problem?
  1727.  
  1728.        A -   The approach to this problem depends on what kind of a
  1729.              virus you are dealing with. VDSFSCAN can help you locate
  1730.              which parts of the system are affected if it is a virus
  1731.              that can be identified using our search strings.
  1732.              If it is a boot sector infector, you can simply turn off
  1733.              the computer, boot from a write-protected floppy diskette
  1734.              and run SYS program to put a clean boot sector onto your
  1735.              hard drive. If it is a program file infector, you need
  1736.              to replace the infected files from the original
  1737.              distribution diskettes.
  1738.              In the case of partition sector viruses, we recommend
  1739.              that you use VITALFIX.EXE. This utility automates
  1740.              locating MBR, and even constructs one if necessary.
  1741.              You may be able to get the original partition sector
  1742.              back, if the virus relocated it to another sector on
  1743.              track 0, head 0 (as some do). You need to fire up a low-
  1744.              level disk editor, and look through head 0, track 0. The
  1745.              first sector contains the Master Boot Record (partition
  1746.              sector), and may have been replaced by the virus code.
  1747.              Look at each sector (17 of them on an MFM drive), and see
  1748.              if any one has AA55 as the last two bytes in the sector.
  1749.              These identification bytes are present on all legitimate
  1750.              partition sectors as well as boot sectors. Remember that
  1751.              this is a trial-and-error process, so it may not work.
  1752.              You may want to seek assistance from a local computer
  1753.              "guru" if necessary. Make sure you save the current copy
  1754.              of the partition sector on a floppy diskette first.
  1755.              If the hard disk is accessible after booting from a
  1756.              floppy diskette, then the partition table (64 bytes near
  1757.              the end of the master boot record) may still be valid.
  1758.              The code that loads the active boot sector may belong to
  1759.              the virus. If you can extract the partition table
  1760.              information from the current copy of the partition
  1761.              sector, you may even be able to place it into a good
  1762.              partition sector you get from a similar computer with a
  1763.              similar disk and the same DOS version. You can then place
  1764.              this combination of partition table from the infected
  1765.              system and partition sector code from the clean system
  1766.              on top of the current partition sector on the infected
  1767.              system and reboot. This might just do the trick. Be very
  1768.              careful, however, and backup all your data files before
  1769.              starting this surgical operation. You might end up
  1770.              clearing the MBR and repartitioning the disk as a last
  1771.              resort.
  1772.  
  1773.        Q -   I have a big hard disk partitioned using Ontrack Disk
  1774.              Manager. Why can't VDS run on my system?
  1775.  
  1776.        A -   Ontrack provides a device driver that makes it possible
  1777.              to access drives with non-standard geometries such as
  1778.              more than 1024 cylinders. VDS has yet to be tested in
  1779.              that environment. We chose to be on the safe side by not
  1780.              attempting to run on systems that we have not tested.
  1781.              Such TSR utilities deal with the hard disk at a very low-
  1782.              level, and if there is a conflict, may cause damage.
  1783.              Taking such a risk without extensive testing is something
  1784.              we certainly avoid.
  1785.  
  1786.        Q -   Does VDS have a TURBO mode versus a SECURE mode?
  1787.  
  1788.        A -   Yes. If you use -T switch, VDS will operate in TURBO
  1789.              verification mode, which is faster but less accurate than
  1790.              VERIFY mode (default). For newly added program files, VDS
  1791.              does a thorough scan for known viruses.
  1792.  
  1793.        Q -   How does VDS encryption work?  Is there a possibility
  1794.              that my disk may become inaccessible?
  1795.  
  1796.        A -   There is NO chance your disk will become inaccessible
  1797.              because of VDS encryption. VDS encrypts only its data and
  1798.              backup files. Please do not confuse this with some other
  1799.              programs that encrypt the hard disk completely or in part
  1800.              to disallow unsupervised access. This approach is not
  1801.              something we recommend or use unless you are into top
  1802.              secret stuff!  Secrecy has little to do with viruses.
  1803.  
  1804.        Q -   How secure is VDS encryption scheme?
  1805.  
  1806.        A -   Our purpose was not to come up with an unbreakable (if
  1807.              there is any such scheme) encryption method, but to use
  1808.              something more secure than good old XOR. Contrary to
  1809.              popular belief, the robustness of an anti-viral integrity
  1810.              system cannot be measured by the sophistication of the
  1811.              encryption algorithm it uses. Some people even believe
  1812.              that they can deal with "stealth" viruses easily if they
  1813.              use an encryption scheme that cannot be forged. That is
  1814.              not so. The stealth viruses intercept the verification
  1815.              routine's attempts to access the modified executables on
  1816.              the disk, and present them with a clean copy. No matter
  1817.              how sophisticated the algorithm used to generate a
  1818.              signature is, it will be fooled every time since the
  1819.              verifier is getting clean (the same as the original)
  1820.              input. While these people are perfecting the technique
  1821.              to compute a one-way cipher of extreme complexity,
  1822.              "stealth" viruses are having a ball on the disk they
  1823.              choose to invade. Of course, if a direct attack is a
  1824.              concern, then more secure encryption methods are very
  1825.              useful. In the DOS environment, manipulating the disk
  1826.              access is much easier and works in most cases. So, if
  1827.              someone tells you they got a superior multi-stage
  1828.              encryption routine that can come up with secure keys for
  1829.              their anti-viral product, just ask them why they chose
  1830.              to waste their time on such an endeavor!  Viruses are not
  1831.              an attack to the secrecy but to the integrity and
  1832.              availability of computer systems. Unfortunately, many
  1833.              self-described experts seem to confuse these separate
  1834.              issues.
  1835.  
  1836.        Q -   I heard some programs create hidden files on the disk.
  1837.              Does VDS create any hidden files?
  1838.  
  1839.        A -   Absolutely not. We have nothing to hide from the end-
  1840.              users!  Almost everything VDS creates is restricted to
  1841.              the VDS210 directory. The only exceptions are the VDS-
  1842.              STAT.LOG (unless installed) and decoys which are placed
  1843.              in the root directory, since scanning can be performed
  1844.              without installation and there would be no VDS210
  1845.              directory.
  1846.  
  1847.        Q -   Does the VDS authentication scheme eliminate the
  1848.              possibility of a trojan version of the program?
  1849.  
  1850.        A -   To some extent. "Trojanization" has been a problem with
  1851.              many software packages in the market. VDS authentication
  1852.              scheme provides a reasonable amount of assurance that the
  1853.              copy you have is actually created by the original
  1854.              developers. It is possible to circumvent this mechanism
  1855.              and display a fake message. This can be considered a
  1856.              direct attack. Remember, a direct attack against any
  1857.              program is possible (you can safely ignore those who
  1858.              claim otherwise). The purpose is to provide another layer
  1859.              of security. If every software product in the market put
  1860.              in as much effort as VDS does, there would be less
  1861.              incidents of trojans. You should get your programs from
  1862.              reliable sources. If you see a program claiming to do
  1863.              major database work, and it is only 4K long, you should
  1864.              double-check on it!
  1865.  
  1866.        Q -   I backup my hard disk regularly. Do I still need an anti-
  1867.              viral program to be safe?
  1868.  
  1869.        A -   Yes, you still need a program such as VDS. Backups can
  1870.              help when recovering from damage. The problem is by the
  1871.              time you notice that the system is infected, the virus
  1872.              may have been transferred to the backup media. When you
  1873.              restore the system, you may very well restore the virus
  1874.              too!  In some cases, the virus may corrupt the backup
  1875.              diskettes and render them useless. One person reported
  1876.              that Stoned virus corrupted all his backup diskettes
  1877.              while he tried to backup his hard disk to be able to
  1878.              perform a low-level format. Unfortunately, the Stoned
  1879.              virus was active in memory at the time. By the way, when
  1880.              was the last time you verified that you can actually
  1881.              restore from your backups?
  1882.  
  1883.        Q -   What are "POV" files?
  1884.  
  1885.        A -   POV stands for "Prisoner Of VDS". These files are created
  1886.              by VDS when it detects an active virus in memory that
  1887.              attacks upon file access. When VDS introduces decoys into
  1888.              the system, some viruses immediately attack them. VDS
  1889.              notices this fact and captures the intruder in a file.
  1890.              VDS will also capture a modified boot or partition sector
  1891.              in POVBOOT.BBB or POVPART.PPP file in C:\VDS210
  1892.              directory. If VDSDEV.DDR captures a modified MBR or BR,
  1893.              VDS.EXE will notice that and scan the saved copy, as well
  1894.              as rename it (MBR-000x.POV or BR-0000x.POV) so that up
  1895.              to ten such samples can be caught. This feature speeds
  1896.              up the diagnosis process. In other words, you will have
  1897.              the captured virus stored in a file that you can analyze
  1898.              (or have someone analyze it since this would require
  1899.              familiarity with the 80x86 assembly language). Initially
  1900.              we used this feature during testing. Some friends
  1901.              suggested that it might be a good idea to keep this
  1902.              feature in the production version as well; so there it
  1903.              is. Remember that not every virus can be caught this way.
  1904.              If you catch a virus, you are encouraged to mail it on
  1905.              a diskette to us for analysis.
  1906.  
  1907.        Q -   Is it possible to make VDS run faster?
  1908.  
  1909.        A -   That depends on how fast your hard drive subsystem is.
  1910.              The bottleneck in the operation of VDS is disk I/O. VDS
  1911.              uses a very sophisticated multi-buffering scheme to
  1912.              maximize performance. One thing VDS cannot (no other
  1913.              program for that matter) do is to change the speed of the
  1914.              underlying hard drive subsystem. If you have a caching
  1915.              hard disk controller, VDS will run faster. If your
  1916.              interleave factor is not set to optimum value, for
  1917.              example, disk access will be slowed down. Another factor
  1918.              is the number of executable files on the disk. The more
  1919.              files you have, the longer VDS will take. File
  1920.              fragmentation is another factor that can slow things
  1921.              down. In other words, anything that can speed up disk
  1922.              access in general can make VDS run faster. VDS also runs
  1923.              faster in TURBO mode than in SECURE mode.
  1924.  
  1925.        Q -   Why can't I run VDS on a floppy diskette?
  1926.  
  1927.        A -   VDS will check if it is running on a hard disk, and will
  1928.              abort operation if it finds otherwise. The reason is one
  1929.              of practicality. A verification system like VDS makes
  1930.              sense on a medium that is central to the operation of a
  1931.              computer system. You should, however, search your floppy
  1932.              diskettes for known viruses using VDSFSCAN.
  1933.  
  1934.        Q -   My company wants to purchase VDS for all our PCs, but we
  1935.              are not sure if there is an expiration date on use of
  1936.              VDS?  Is it necessary to renew the VDS site license on
  1937.              a regular basis?
  1938.  
  1939.        A -   A registered copy of VDS can be used by the licensee
  1940.              indefinitely. There is no limited license that expires
  1941.              in time. We believe that the end-user has a right to run
  1942.              a program he paid for as long as he is satisfied with its
  1943.              operation. Updated versions of VDS will be made available
  1944.              only for a nominal fee that is independent of the number
  1945.              of copies licensed.
  1946.  
  1947.        Q -   Is it possible for a data file to become infected by a
  1948.              virus?
  1949.  
  1950.        A -   The criteria for a virus to do anything at all is that
  1951.              it must gain control of the CPU. An ordinary data file
  1952.              will never have such control. The possibility exists for
  1953.              macro or script files that some application software
  1954.              packages provide to automate certain operations. There
  1955.              are no common viruses that exploit this feature. Another
  1956.              possibility is to cause damage as a side effect, for
  1957.              example, by redefining a key sequence as a substitute for
  1958.              a destructive command, assuming a driver such as ANSI.SYS
  1959.              is loaded. Again, these are very limited ways that a
  1960.              virus can propagate, if at all. Batch files can also be
  1961.              used to activate a program that contains a virus. The
  1962.              problem is that it is too obvious and will be detected
  1963.              easily.
  1964.  
  1965.        Q -   I heard a lot of things about how Artificial Intelligence
  1966.              could be very effective against viruses. Does VDS employ
  1967.              any AI techniques?
  1968.  
  1969.        A -   VDS is based on real intelligence, not artificial!!! AI
  1970.              is an overused term these days. Almost every new product
  1971.              claims to have certain AI capabilities. VDS employs
  1972.              powerful heuristics and extremely sophisticated
  1973.              techniques to detect almost any virus that attacks MS-DOS
  1974.              systems. It is not, however, similar to rule-based
  1975.              inference engines. There are some neural network models
  1976.              that can be trained to recognize viral behavior. So far
  1977.              these models could not go beyond the lab environment. If
  1978.              the detection process takes almost half an hour (as some
  1979.              do), it is not feasible to run such a program every time
  1980.              the system is restarted. VDS takes a more practical
  1981.              approach to boost the performance to acceptable limits.
  1982.              A more accurate description of the way VDS uses AI
  1983.              techniques would be "it calculates a suspicion factor
  1984.              based on various operational parameters in the system,
  1985.              and adapts its behavior according to this factor."
  1986.              Purists would not consider this artificial intelligence
  1987.              in the strict sense of the term; however, if we can
  1988.              determine a set of operational parameters that can
  1989.              accurately represent the state of a clean system, then
  1990.              at any point in time we may be able to detect whether the
  1991.              state of the system has reached a certain condition. That
  1992.              is exactly what we need: to determine if there is a virus
  1993.              present while reducing false alarms to an acceptable
  1994.              level. The assumption is that the parameters for a virus-
  1995.              free state is known a priori.
  1996.  
  1997.        Q -   I could not find any virus-specific information in the
  1998.              documentation that came with VDS?  Am I missing
  1999.              something?
  2000.  
  2001.        A -   No, you are not missing anything. We do not place much
  2002.              emphasis on knowing details about every virus, although
  2003.              we do quite a bit of analysis on virus samples we obtain.
  2004.              Most viruses can be categorized based on which system
  2005.              resources they exploit. There are some published works
  2006.              that contain virus-specific information. We do not wish
  2007.              to duplicate such efforts. If you would like to obtain
  2008.              detailed information on a specific virus, please refer
  2009.              to some of those lists (we do not endorse or recommend
  2010.              any particular list). It is a good idea to consult two
  2011.              or more such lists since they tend to contain inaccurate
  2012.              information. Patricia Hoffman has been maintaining a
  2013.              comprehensive list of virus-specific information for a
  2014.              long time, and it is publicly available. Latest version
  2015.              of this product comes with a browser utility to make it
  2016.              easier to locate entries in the list. You can access her
  2017.              BBS via a modem. The number to the BBS, named Excalibur!,
  2018.              is (408) 244-0813.
  2019.  
  2020. H. Known Problems and Conflicts
  2021.  
  2022.        This section addresses various conflicts or problems with the
  2023. operation of VDS that we are aware of. You are encouraged to report
  2024. any problems you discover.
  2025.  
  2026.        1. SETVER.EXE that comes with MS/PC DOS 5.0 causes false
  2027.        alarms.
  2028.  
  2029. SETVER.EXE program modifies itself to keep track of programs and
  2030. the version of DOS they should get as a result of INT 21h, function
  2031. 30h call. Many consider such self-modifying programs "ill-behaved".
  2032. Until developers of DOS come up with a better way to accomplish the
  2033. same task, you are likely to get false alarms. We do not intend to
  2034. accommodate use of such a questionable practice.
  2035.  
  2036.        2. VDSDEV.DDR gets confused when loaded high under DOS 5.0.
  2037.  
  2038. You do not need to load VDSDEV.DDR high. Since it releases all of
  2039. its memory after it is done, you will not lose any memory from
  2040. 640K. Use DEVICE command not DEVICEHIGH in your CONFIG.SYS to
  2041. activate the driver.
  2042.  
  2043.        3. Decoys do not function on Stacker volumes.
  2044.  
  2045. We do not recommend usage of a disk compression program like
  2046. Stacker in combination with VDS. Do not even install VDS on such
  2047. disks. We have not done extensive testing under such environments
  2048. and cannot guarantee safe operation.
  2049.  
  2050.                                V. VIRUS ATTACK METHODS
  2051.  
  2052. A. Virus defined
  2053.  
  2054.        A computer virus is a piece of (executable) code that has the
  2055. capability to replicate itself (replication task), in part or full,
  2056. by attaching to other existing code. The attachment does not have
  2057. to be physical, as is the case with "spawning/companion" variety,
  2058. but it usually involves physical modification of other existing
  2059. code. The virus can also have a damage mechanism (manipulation
  2060. task) in addition to its propagation capability. If it does not
  2061. replicate, it is not considered to be a virus.
  2062.  
  2063. B. Attack & spread methods
  2064.  
  2065.        We will now present some information on common strategies MS-
  2066. DOS viruses use in practice. This section is by no means an
  2067. exhaustive listing of viral methods; it is intended to provide
  2068. unexposed users with preliminary knowledge of the subject matter.
  2069. We will also present a few general principles such as the
  2070. following:
  2071.  
  2072.        1.    Any modifiable (directly or indirectly) and executable
  2073.              piece of code in a system can be a target for viral
  2074.              attack.
  2075.  
  2076.        Certain areas are exploited more often either because they
  2077. simplify the implementation of the viral code or they provide a
  2078. good platform to achieve a high infection rate. The interrupt
  2079. mechanism in the MS-DOS environment is one such area. Many viruses
  2080. gain control of the CPU upon activation of an interrupt. The viral
  2081. modifications to the interrupt mechanism fall into two major
  2082. categories:
  2083.  
  2084.        1.    Redirection of interrupts by replacing the contents of
  2085.              the interrupt vector table.
  2086.        2.    Direct modification of the interrupt handler code where
  2087.              a vector address points to.
  2088.  
  2089.        An example for #1 is Dark Avenger. The addresses of certain
  2090. interrupts are modified to point to the virus in memory. The virus
  2091. gains control of the CPU whenever the "hooked" interrupt is
  2092. invoked.
  2093.        The best-known example for #2 is 4096 (Frodo). The interrupt
  2094. handler code for INT 21h is modified by planting a jump instruction
  2095. so that the destination is the viral code active in memory. This
  2096. subtle change is more difficult to detect using typical interrupt
  2097. monitoring software. Many "experts" believe that it is not possible
  2098. to detect modifications this virus (and similar viruses) has done
  2099. while it is active in memory. VDS has no such restrictions.
  2100.        Many system services, including file access, are provided by
  2101. the DOS INT 21h  handler. Most viruses hook this interrupt, using
  2102. either #1 or #2, so that they can propagate. Some viruses also
  2103. supervise any request to access an infected file, and undo the
  2104. changes on the fly in order to evade detection. This behavior is
  2105. referred to as "stealth", and is quite effective in practice.
  2106.        A virus usually inserts its own code before the original
  2107. program (either by modifying the entry point or by placing a jump
  2108. instruction to the viral code) so it can gain control and modify
  2109. the environment to its advantage. Non-overwriting viruses may be
  2110. able to preserve full functionality of the programs they infect.
  2111. After they are done replicating or doing whatever damage they
  2112. intend, they pass control to the original program. The user will
  2113. probably not notice the difference. These viruses can stay dormant
  2114. longer than those that cause permanent damage to programs during
  2115. infection. For example, if your word processor refuses to run one
  2116. morning, you will try to find out why.
  2117.        Another method of infection does not involve physical
  2118. modification of program files, but rather exploits a feature in
  2119. DOS. So-called companion viruses create a program file with the
  2120. same name as their victim, but with a COM extension instead of EXE.
  2121. Under DOS, a COM program will execute if there are two files: One
  2122. with a COM extension and one with an EXE extension. Therefore, when
  2123. the user types the name of the program, the companion virus is what
  2124. DOS will execute. Under DOS 5.0, you can eliminate this ambiguity
  2125. by specifying the extension as well as the file name. After it is
  2126. done whatever the virus author intended, the virus runs the actual
  2127. program that the user meant to run. Since no physical modification
  2128. of the victim takes place, one must specifically check for such
  2129. viruses. Simply looking for changes in files is not enough. There
  2130. are only a few viruses that infect in this manner.
  2131.        Some other viruses attack both master boot record or boot
  2132. record of the active partition and program files on the disk. These
  2133. viruses are sometimes called multi-partite. It may seem that such
  2134. beasts have a better chance to spread; however, they are far less
  2135. common in practice. One reason might be that they are more
  2136. complicated to program. The more complicated a program is, the
  2137. higher the number of bugs it has. Due to serious bugs in the virus
  2138. code, they easily reveal their presence. Ironically, simple viruses
  2139. like Stoned are quite widespread.
  2140.        Some viruses try to evade identification by scanners. They
  2141. usually encrypt their code with a different encryption key so that
  2142. the newly infected file will seem to contain a different virus.
  2143. Simple viruses in this category use the same decryption routine in
  2144. every instance of the virus, and therefore they are easily caught.
  2145. More sophisticated ones add a couple of junk instructions inside
  2146. the decryption routine, and rearrange them differently in new
  2147. infections. These junk instructions do not have any effect on the
  2148. decryption method, but they serve to make it difficult to extract
  2149. a simple search string to scan for.
  2150.        Even more advanced encryptive viruses exist. Some people refer
  2151. to these as polymorphic viruses. They use a different
  2152. encryption/decryption routine (e.g., by using different
  2153. instructions to accomplish the same computation) for each new
  2154. instance of the virus, making it extremely difficult to scan for.
  2155. Good news is that all these beasts modify other existing executable
  2156. code to be able to replicate. They are as easy to detect as their
  2157. dumber cousins, just more difficult to name.
  2158.  
  2159.        2.    Any control mechanism that relies on the accuracy or
  2160.              availability of information (including the mechanism
  2161.              itself) which is stored on a medium (including RAM) that
  2162.              is prone to modification by the attacker can be defeated.
  2163.  
  2164.        Some viruses target the partition or the boot sector of disks.
  2165. They may move the original sector contents to another location on
  2166. the disk. They usually hook low level disk access routines so if
  2167. someone tries to peek at their hiding place, they can present the
  2168. original copy of the sector and pretend nothing is modified. They
  2169. can also protect themselves by disallowing write access to their
  2170. location. This is yet another variation of stealth techniques. The
  2171. Brain virus is one such beast that uses similar tricks to evade
  2172. detection. These viruses have tremendous flexibility to modify the
  2173. system to their advantage since they gain control very early in the
  2174. system startup process. The strength of VDS comes from its triple-
  2175. pass verification technique that makes it extremely difficult to
  2176. hide such a change in the DOS environment.
  2177.        Researchers categorize viruses in many different ways such as
  2178. direct action viruses and so on. This level of detail is not
  2179. necessary for our discussion. Whether the virus activates when
  2180. another program accesses the disk, or it looks for a target on its
  2181. own is beside the point. The beast is spreading all over the disk,
  2182. and after getting onto floppy diskettes, it will spread to other
  2183. computers. And that is a BIG concern!
  2184.  
  2185.        3.    PC-based local area networks are NOT immune to viral
  2186.              attacks.
  2187.  
  2188.        Network connections pose another question by making it easier
  2189. for the virus to travel from one location to another. As long as
  2190. the user has write access to the programs on a disk, it may be able
  2191. to infect it. If the program file happens to be on a file server,
  2192. all those that run it may cause the virus to jump to their local
  2193. machines. Can you imagine what could happen if the
  2194. superuser/supervisor runs an infected program on the LAN by
  2195. mistake?
  2196.        It is a misconception that PC-based networks are less
  2197. susceptible to viruses. The boundaries of information flow are not
  2198. always well-defined. Although many popular LAN operating systems
  2199. provide various control mechanisms that can be used to implement
  2200. robust anti-viral measures, many sites do not take advantage of
  2201. them. If the users allow each other to access one another's
  2202. directories, for example, the risk of infection is very high, and
  2203. the rate of infection may be even higher compared to spread via
  2204. floppy diskettes. Since many common viruses employ "ill-behaved"
  2205. programming techniques, they cannot infect network file servers
  2206. even when write/modify access is granted. This does not eliminate
  2207. the risk by any means, but simply makes it less evident.
  2208.  
  2209.        4.    Electronic bulletin boards do not necessarily contain
  2210.              infected software.
  2211.  
  2212.        There have been some extreme remarks about the dangers of
  2213. downloading software from electronic bulletin boards (BBS). In
  2214. actuality, the sysop (the person that maintains the BBS) has to
  2215. take pains to ensure his board is free of malicious software to be
  2216. able to keep a good reputation. On the other hand, there are
  2217. supposedly some hacker BBSs that provide viruses, even in source
  2218. code. Your chance of bumping into one of these is very little.
  2219. Please do not be afraid to explore what the BBSs in your area have
  2220. to offer. Many useful programs such as VDS are available for the
  2221. cost of a local phone call. There is no need to be paranoid about
  2222. the situation, just be aware of the possibilities. It is always a
  2223. good idea to get software only from well-recognized bulletin boards
  2224. such as the ones maintained by user groups. It is a good practice
  2225. to search the programs you download for known viruses.
  2226.  
  2227.        5.    Write-protected floppy diskettes cannot be infected by
  2228.              a virus as long as the floppy drive is working correctly.
  2229.  
  2230.        This is why you should always place a write-protect tab on all
  2231. original diskettes if they are not already protected. The spread of
  2232. viruses can be effectively slowed down by careful use of
  2233. appropriate control mechanisms. Some people recommend using dark
  2234. matt write-protect tabs rather than the shiny silver ones; we did
  2235. not have any problems with either kind.
  2236.  
  2237.                         VI. PARTITION/BOOT SECTOR INFECTIONS
  2238.  
  2239. A. Preliminary information
  2240.  
  2241.        It seems that there is much confusion about the difference
  2242. between a partition sector (Master Boot Record is another name for
  2243. it) and a boot sector among many PC users. If you are already
  2244. familiar with the organization of a typical hard disk, you can skip
  2245. the rest of this section; otherwise, please read on.
  2246.        The very first sector on a typical hard disk stores the
  2247. partition information for the disk. Within the partition sector, a
  2248. 64-byte area contains enough information to locate all physical
  2249. partitions on the disk, and shows which partition is the active
  2250. partition. The active partition is used to boot the computer. There
  2251. can be four physical partitions on a disk. The partition sector is
  2252. located outside of any partition boundaries and has enough code to
  2253. determine the active partition, load the boot sector in that
  2254. partition and transfer control to it. The code in the partition
  2255. sector does not care which operating system it is loading. In fact,
  2256. one reason for having partitions is to allow coexistence of
  2257. multiple operating systems on one hard disk. FDISK program that
  2258. comes with DOS is used to manipulate the partition table.
  2259.        Each partition has a boot sector. The boot sector holds
  2260. certain information about that partition (in an area called BIOS
  2261. Parameter Block or BPB) such as the number of sectors and number of
  2262. FATs (file allocation table). In the case of the active partition,
  2263. it also contains some code that loads the operating system. DOS
  2264. partitions can be either primary or extended (extended partitions
  2265. were added in DOS 3.3). The extended partition can be further
  2266. subdivided into logical drives.
  2267.        FORMAT program with the /S option is used to make the active
  2268. DOS partition bootable by setting up the necessary operating system
  2269. files. FORMAT must also be run on every partition to be able store
  2270. files. This is called high-level formatting. Floppy disks do not
  2271. have partition sectors, they only have a boot sector. That's one
  2272. reason low-level and high-level formatting is combined into one
  2273. procedure in the case of floppy diskettes.
  2274.        Since the partition sector contains vital information to
  2275. access the drive, it is important that this information be
  2276. protected. If you lose your partition sector, you might have to
  2277. wipe out the MBR, and repartition the disk. Of course, this
  2278. operation would make all files inaccessible. Fortunately, it is
  2279. hardly ever necessary to take such an extreme step. If you have VDS
  2280. in place, you should be able to restore your partition table
  2281. information easily.
  2282.        Nevertheless, if you cannot reconstruct the partition table so
  2283. that you can backup your files, or if you just want to get rid of
  2284. a virus residing in the MBR, you should know a few important facts.
  2285.  
  2286.        1.    A complete low level format of the entire hard disk is
  2287. not necessary. Using a low level disk editor, you can write zeroes
  2288. over the contents of the MBR and repartition the disk. This will
  2289. get rid of the virus. In fact, certain types of hard drives, namely
  2290. IDE, are not designed to be low level formatted by the end-user.
  2291. Low level format is necessary on brand new drives that do not come
  2292. pre-formatted from the manufacturer. Getting rid of an MBR virus is
  2293. just a matter of removing its code from MBR and putting a fresh
  2294. copy of the standard MBR code.
  2295.  
  2296.        2.    FDISK will not put a fresh copy of the MBR code if the
  2297. disk is already partitioned; therefore, an MBR virus can survive
  2298. repartitioning by standard FDISK. This might surprise you, but it
  2299. is a fact so dangerous to ignore. Worse yet, FDISK will destroy the
  2300. boot records and FATs of any modified partitions. For example, if
  2301. you repartition a drive with exactly the same parameters, you will
  2302. still lose access to your files.
  2303.  
  2304.        ***   MS/PC DOS 5.0 includes an improved version of the FDISK
  2305.              program. It can replace the MBR code only, while leaving
  2306.              the partition table intact. Unfortunately, the DOS
  2307.              technical documentation does not mention this capability.
  2308.              The command is:
  2309.  
  2310.                     FDISK   /MBR
  2311.  
  2312.        3.    If the partition table is intact, as is the case in most
  2313. infections, you can recover all your data easily. To do this, you
  2314. should use a utility like VITALFIX, or do it manually following the
  2315. instructions in this document. For details, see the section titled
  2316. MANUAL RECOVERY PROCEDURE under HOW TO DEAL WITH VIRUSES.
  2317.  
  2318.  
  2319.       Following diagram illustrates the organization of a typical
  2320.       hard disk.
  2321.  
  2322.      ┌───────────────────────────────────┐
  2323.      │  Master Boot Record               │ Sec 1, Cyl 0, Head 0
  2324.      ├───────────────────────────────────┤
  2325.      │                                   │
  2326.      ├───────────────────────────────────┤
  2327.      │  Active Partition Boot Sector     │
  2328.      ├───────────────────────────────────┤
  2329.      │  File Allocation Table 1 (FAT#1)  │
  2330.      ├───────────────────────────────────┤ Partition 1
  2331.      │  File Allocation Table 2 (FAT#2)  │
  2332.      ├───────────────────────────────────┤
  2333.      │  Root Directory                   │
  2334.      ├───────────────────────────────────┤
  2335.      │                                   │
  2336.      │       Data Area for files         │
  2337.      │                                   │
  2338.      ├───────────────────────────────────┤
  2339.      │  Other Partition Boot Sector      │
  2340.      ├───────────────────────────────────┤
  2341.      │  FAT#1                            │
  2342.      ├───────────────────────────────────┤
  2343.      │  FAT#2                            │ Partition 2
  2344.      ├───────────────────────────────────┤
  2345.      │  Root Directory                   │
  2346.      ├───────────────────────────────────┤
  2347.      │                                   │
  2348.      │    Data Area for files            │
  2349.      │                                   │
  2350.      └───────────────────────────────────┘
  2351.  
  2352. B. How to recover with CURE option
  2353.  
  2354.        If the partition table or the boot sector is modified, you can restore
  2355. it as follows:
  2356.  
  2357.        1. Turn off the computer.
  2358.        2. Place the write-protected VDS emergency diskette in drive A.
  2359.        3. Turn on the computer.
  2360.        4. Run  REPAIR.BAT.
  2361.  
  2362.              A:\REPAIR  <enter>
  2363.  
  2364.        VDS will attempt to use the backup copy of the affected area to restore
  2365. it. If it detects that the backup copy is also modified, it will abort the
  2366. restoration attempt so as not to do more harm than good! The restoration
  2367. process involves the partition sector, boot sector on the active partition,
  2368. and COMMAND.COM as well as IBMBIO.COM and IBMDOS.COM. VDS considers leaving
  2369. the task of restoring the system files to SYS the safest approach.
  2370.  
  2371.        5. If all goes well, VDS will ask you to remove any floppy diskettes and
  2372.           press a key to reboot the system. All system areas should pass the
  2373.           verification tests this time. If they do not, the restoration attempt
  2374.           was unsuccessful, and a manual recovery is necessary.
  2375.  
  2376. C. How to use VITALFIX
  2377.  
  2378.        VITALFIX is a utility program designed to automate recovery from an MBR
  2379. (master boot record) infection.
  2380.        It can place a fresh copy of MBR code without disturbing the existing
  2381. partition table. It can backup an MBR to a file on a floppy diskette. It even
  2382. allows you to take a clean MBR from one computer, and a partition table from
  2383. an infected one, combine them together and put it back on the infected system,
  2384. effectively replacing the viral code while leaving the partition table intact.
  2385. This is possible since most computers partitioned using the same FDISK
  2386. program will contain similar code, and differ only in the contents of their
  2387. partition tables.
  2388.        If you simply let VITALFIX construct an MBR for you, you will have our
  2389. MBR code placed on your disk. Since this piece of code has to do "standard"
  2390. stuff, there should not be any problems. Please let us know if it does not work
  2391. on your system. We have tested it on several IBM computers and compatibles
  2392. with a variety of hard disks. It seems to work just fine.
  2393.        VITALFIX is a menu-driven program. You simply highlight the option you
  2394. are interested in and press enter. You could also press the first letter of an
  2395. option to activate it. Context-sensitive help is available by pressing the F1
  2396. key.
  2397.        VITALFIX has some interesting features such as the capability to search
  2398. for a relocated MBR all over a hard disk and to view the contents of any given
  2399. sector. You can also write contents of a file to a sector and vice versa. It
  2400. also allows you to edit sectors. Please be very careful when doing any write
  2401. operations since a simple mistake could damage your data.
  2402.        You should always boot the computer from a write-protected, clean
  2403. system diskette before using VITALFIX. This will eliminate any memory resident
  2404. viruses or programs that may interfere with disk operations. By the way,
  2405. VITALFIX can bypass most software-only active monitor anti-viral programs
  2406. that try to control disk access!
  2407.  
  2408.                             VII. HOW TO DEAL WITH VIRUSES
  2409. A. Recommended Guidelines
  2410.  
  2411.        When dealing with viruses, there are a few rules to go by, all of which
  2412. make good common sense. These rules are:
  2413.  
  2414. 1.     If there is a possibility that your hard drive is infected, do not use a
  2415.        floppy diskette on that computer unless it is write-protected.
  2416.  
  2417.        Rationale:         If you did NOT coldboot the computer from a clean
  2418.                           floppy diskette, the virus may be active in memory and
  2419.                           it can infect the floppy diskettes used in the drives.
  2420.                           This is, after all, a common way for spreading
  2421.                           infections among computers.
  2422.  
  2423. 2.     Do not boot a hard drive system from a floppy diskette unless you are
  2424.        positive that the floppy is virus-free.
  2425.  
  2426.        Rationale:         This follows from Rule #1. The virus can infect the
  2427.                           hard disk. The result is a hard disk that passes on the
  2428.                           virus to other floppies. The floppy can carry a boot
  2429.                           sector virus even if it was not formatted to be a
  2430.                           system diskette, because all DOS diskettes have a
  2431.                           boot sector.
  2432.  
  2433. 3.     If your PC is connected to a local area network, and you detect that
  2434.        your system may be infected by a virus, disconnect your PC from the
  2435.        network immediately.
  2436.  
  2437.        Rationale:         The purpose is to isolate the infection in order to
  2438.                           minimize the spread, and reduce the time required to
  2439.                           clean the system. Make sure you know how to
  2440.                           disconnect only your PC. Pulling out the wrong cable
  2441.                           may bring down a whole subsection of the network.
  2442.  
  2443. 4.     If you receive new programs (especially games), test them on a machine
  2444.        that does not have valuable data before installing these programs on
  2445.        other computers.
  2446.  
  2447.        Rationale:         This precaution will help prevent the introduction of
  2448.                           new viruses into the system. Even shrink-wrapped
  2449.                           software may contain a virus. There have been some
  2450.                           unfortunate incidents where major computer companies
  2451.                           shipped infected diskettes to their customers by
  2452.                           mistake.
  2453.  
  2454. 5.     If you do not feel technically competent to handle a virus attack,
  2455.        contact someone who can help.
  2456.  
  2457.        Rationale:         Dealing with viruses can be a very tricky business.
  2458.                           You cannot afford to leave a single infected file on
  2459.                           your system. It takes only one infected program to
  2460.                           continue the spread of the virus.
  2461.  
  2462. 6.     When you want to backup your hard disk, boot from a write-protected,
  2463.        clean floppy diskette. Preferably use file-by-file backup mode instead
  2464.        of image backup.
  2465.  
  2466.        Rationale:         Some viruses remain active in memory and interfere
  2467.                           with disk access. They are likely to corrupt the
  2468.                           backup diskettes. File-by-file mode gives you a
  2469.                           better chance to recover damaged backups.
  2470.  
  2471. 7.     Write protect all original diskettes as well as their backups before
  2472.        using them.
  2473.  
  2474.        Rationale:         This would prevent infection of your program
  2475.                           diskettes should they be used in an infected system.
  2476.                           Besides, during recovery you can be assured that the
  2477.                           originals are not corrupted.
  2478.  
  2479. 8.     Before using programs that came on floppy diskettes, search them for
  2480.        known viruses.
  2481.  
  2482.        Rationale:         Many companies are just beginning to realize the
  2483.                           threat the viruses pose. They may or may not have a
  2484.                           virus-free program development environment. It is
  2485.                           better not to take any chances and check the
  2486.                           diskettes yourself. If you find a write-protected,
  2487.                           original program diskette to be infected, first
  2488.                           contact the company that sold you the disk and
  2489.                           complain.
  2490.  
  2491. B. Manual Recovery Procedure
  2492.  
  2493.        This section assumes you have a standard system partitioned using FDISK,
  2494.        and running MS/PC DOS 3.0 or above. If you have a hard drive with a non-
  2495.        standard geometry, then the following procedure may be more complicated.
  2496.        Exercise caution during this recovery procedure, since you could
  2497.        accidentally render your disk unusable. If you can access the hard disk
  2498.        after booting the computer from a floppy diskette, you should backup all
  2499.        your data files first.
  2500.  
  2501.        If you know or suspect that your hard drive is infected by a virus, you
  2502. can attempt to restore it by carefully verifying that each point in the
  2503. execution path during start-up is clean. To do that, you need to know what
  2504. points are in the execution path. Refer to the diagram below.
  2505.        First get a write-protected (preferably the original) DOS system
  2506. diskette. You cannot format a diskette on a possibly infected system, and be
  2507. positive that the diskette does not get infected. Some viruses stay in memory
  2508. and infect the floppy diskettes whenever they are accessed. Turn the
  2509. computer OFF. Place the system diskette in drive A: and close the drive door.
  2510. Turn the computer ON. Never trust that a warm-boot (Ctrl-Alt-Del) will get rid
  2511. of a memory resident virus. Some viruses are known to fake a warm-boot. Worse
  2512. yet, some vicious viruses activate their damage routine when you press Ctrl-
  2513. Alt-Del combination. If you turn the computer OFF, then the contents of random
  2514. access memory will be erased, flushing everything including a virus.
  2515.        The purpose of the following procedure is to clean the system areas of
  2516. a computer with a hard disk so that it is safe to boot from the hard disk.
  2517. Verification of other program files are not considered in this discussion.
  2518. Recommended recovery procedure for infected program files is to replace them
  2519. with the originals. A utility program such as VDSFSCAN that searches for
  2520. infected programs can speed up the process. Virus cleaning utilities are NOT
  2521. recommended. If you know or suspect that a program is infected, copy over the
  2522. original from the distribution diskette. This is the cleanest and the safest
  2523. approach.
  2524.        To attempt recovery, you will need a low level disk editor that allows
  2525. you to read and write any sector on the disk. If you feel intimidated by
  2526. manipulating your disk in this manner, please do not attempt a manual recovery
  2527. without the help of a friend who has experience performing this type of an
  2528. operation. Nevertheless, VITALFIX program in the VDS 2.10 package is very
  2529. handy to do such low level manipulations.
  2530.  
  2531.       On a standard PC, the startup sequence looks like the following:
  2532.  
  2533.        Stage 1.
  2534.  
  2535.           point A             point B
  2536.        ╔════════════╗      ┌────────────┐
  2537.        ║  ROM       ║      │  Master    │
  2538.        ║            ║      │  Boot      │
  2539.        ║  BIOS      ║      │  Record    │
  2540.        ║            ║      │  Code      │
  2541.        ║  CODE      ║      │  [0, 0, 1] │
  2542.        ║            ║      │            │
  2543.        ║            ║      │            │
  2544.        ╚════════════╝      └────────────┘
  2545.  
  2546.        Stage 2.
  2547.  
  2548.           point C         point D        point E
  2549.        ┌────────────┐  ┌───────────┐  ┌────────────┐
  2550.        │ Boot       │  │ IBMBIO.COM│  │ IBMDOS.COM │
  2551.        │ Record     │  │    or     │  │    or      │
  2552.        │ Code in    │  │ IO.SYS    │  │ MSDOS.SYS  │
  2553.        │ Active     │  │           │  │            │
  2554.        │ Partition  │  │           │  │            │
  2555.        │            │  │           │  │            │
  2556.        └────────────┘  └───────────┘  └────────────┘
  2557.  
  2558.  
  2559.           point F         point G          point H
  2560.        ┌────────────┐  ┌─────────────┐  ┌───────────────┐
  2561.        │ Device     │  │ COMMAND.COM │  │ Programs      │
  2562.        │ Drivers    │  │             │  │ in            │
  2563.        │ in         │  │             │  │ AUTOEXEC.BAT  │
  2564.        │ CONFIG.SYS │  │             │  │               │
  2565.        │            │  │             │  │               │
  2566.        │            │  │             │  │               │
  2567.        │            │  │             │  │               │
  2568.        └────────────┘  └─────────────┘  └───────────────┘
  2569.  
  2570.       Stage 1 is independent of any operating system. Point A is implemented
  2571. in hardware and is not modifiable (shadow/flash RAM leaves a shadow of doubt),
  2572. therefore cannot be infected. At point B, the code resides on the hard disk
  2573. (head 0, cylinder 0, sector 1). The purpose of point B is to provide a mechanism
  2574. to load different operating systems. You can have your disk partitioned so
  2575. that one partition is for DOS, while another one is for some other operating
  2576. system. By marking one of them as active in the partition table (located within
  2577. the Master Boot Record), you can control which operating system will load upon
  2578. bootup. The code in MBR simply locates the active partition by examining the
  2579. partition table, loads the code in the boot sector of that partition and
  2580. transfers control to it. The MBR is attacked by viruses such as Stoned since
  2581. it provides very early control of the system. More sophisticated viruses can
  2582. easily redirect BIOS disk access routines (the vector addresses reside in the
  2583. first 1024 bytes of RAM and are modifiable) to evade detection.
  2584.        Stage 2 is where a specific operating system comes into play. In the case
  2585. of DOS, the code at point C loads the first system file (IBMBIO.COM) and
  2586. transfers control to it. After initializing the DOS kernel, IBMBIO.COM
  2587. processes the CONFIG.SYS file. Each device driver listed in CONFIG.SYS is
  2588. loaded and initialized. IBMDOS.COM is also loaded at this time. At point G,
  2589. COMMAND.COM gets control and processes AUTOEXEC.BAT file if there is one.
  2590.        Except for point A, all other points in the execution path are modifiable.
  2591. You must assume that any modifiable code is prone to viral infections. During
  2592. recovery you must assume the worst case and handle each point as if it is
  2593. infected by a virus. You must also remember that a higher point depends on a
  2594. lower point. In other words, if you do not clean point B, you cannot guarantee
  2595. that point C will not be compromised afterwards.
  2596.        The MBR code (point B) is easily replaceable. The key item at point B is
  2597. the partition table which contains vital information to access the disk. If the
  2598. hard disk is accessible after booting from a floppy (e.g., DIR C: works fine),
  2599. then there is a good chance the partition table is intact. You should
  2600. immediately extract the partition table information (64 bytes total) from the
  2601. first sector on head 0, cylinder 0 and store it in a file on a floppy diskette.
  2602. If you have a similar (uninfected) computer with a hard disk, you should make
  2603. a copy of its MBR in a file. The next step is to combine the partition table that
  2604. you stored away with the clean MBR you have taken from the uninfected
  2605. computer. The result is an uninfected MBR that can be used to replace the
  2606. infected one. Make sure when you combine the two pieces, you are editing at
  2607. the correct offset within the MBR sector. Our VITALFIX utility automates this
  2608. whole process (except swapping diskettes, of course!). Here is a simple picture
  2609. to clear things up:
  2610.  
  2611.                                  Master Boot Record
  2612.  
  2613.           Sector 1 on head 0, cylinder 0
  2614.  
  2615.                             partition table
  2616.           1               447                  512
  2617.           ╔═════════════════╤═══╤═══╤══╤═══╤══════╗
  2618.           ║                 │   │   │  │   │ AA   ║
  2619.           ║   MBR Code      │ 1 │ 2 │ 3│ 4 │ 55   ║
  2620.           ║                 │   │   │  │   │      ║
  2621.           ╚═════════════════╧═══╧═══╧══╧═══╧══════╝
  2622.  
  2623.        Note that the partition table has four entries making it possible to
  2624. divide the disk into four distinct areas. The MBR code is the same on most PCs
  2625. as long as you use the same FDISK program. The partition table depends on how
  2626. the disk is set up. The last two bytes must be AA55 by convention.
  2627.        Some viruses simply relocate the whole MBR sector to another location
  2628. on the disk, then place their code in sector 1, head 0, cylinder 0. They also
  2629. redirect disk access routines and present the original copy when someone
  2630. attempts to access the MBR. This is an evasion technique used by certain
  2631. viruses that target the MBR. Since you have booted from a clean floppy
  2632. diskette, you do not have to worry about this. If you can find the original MBR
  2633. on the disk (usually relocated to another sector on head 0, cylinder 0), then
  2634. you could simply put it back to sector 1, head 0, cylinder 0 to recover. For
  2635. example, one variant of Stoned virus places the original MBR to sector 7, head
  2636. 0, cylinder 0. In that case, follow the procedure outlined above.
  2637.        Once you restore the MBR, you can move on to point C and verify it. The
  2638. easiest way to accomplish that is to use SYS.COM program included with DOS.
  2639. SYS will put a fresh copy of the boot sector code as well as replacing
  2640. IBMBIO.COM and IBMDOS.COM. This operation cleans points C, D, and E (three birds
  2641. with one stone).
  2642.        Point F involves verifying each device driver listed in the CONFIG.SYS
  2643. file. Unless you need a device driver to access the disk due to non-standard
  2644. geometry, you can simply delete (or rename) CONFIG.SYS. Otherwise, you have
  2645. to copy the device drivers from the original diskettes to the hard disk. Make
  2646. sure you are copying over the ones that CONFIG.SYS activates.
  2647.        Point G is easy to take care of by copying COMMAND.COM from the original
  2648. DOS diskette to the hard disk. If you have a shell statement in CONFIG.SYS that
  2649. specifies a different command interpreter, then make sure you replace that
  2650. one with the original.
  2651.        Point H can be handled by deleting (or renaming) AUTOEXEC.BAT since it is
  2652. not required.
  2653.        Now the system is ready to be booted from the hard disk without
  2654. reactivating a possible virus. Of course, the first time you run an infected
  2655. program, everything you have cleaned so far might get reinfected. Did we say
  2656. dealing with viruses can be a little tricky?
  2657.  
  2658.                            VIII. REGISTRATION and PRICES
  2659.  
  2660. A. How to get VDS?
  2661.  
  2662.        You can obtain a registered copy of VDS by writing to the following
  2663. address:
  2664.  
  2665.                                 Attn: Tarkan Yetiser
  2666.                              VDS Advanced Research Group
  2667.                                    P.O. Box  9393
  2668.                                  Baltimore, MD 21228
  2669.  
  2670.        Please fill out the order form included with this documentation. As soon
  2671. as we receive your purchase order, you will be sent the VDS package on a 5.25"
  2672. and 3.5" DSDD diskette, a printed manual, and a registration number to be used
  2673. in all future dealings. Processing may take up to two weeks. If you discover
  2674. that the distribution diskette you have received is damaged, you can ask for
  2675. a new diskette (to be shipped free of charge) within two weeks after you
  2676. receive VDS.
  2677.        If you do not want to wait, you can leave a message on the answering
  2678. machine at (410) 247-7117 giving your name (s-p-e-l-l your last name please)
  2679. and address. For registered versions, you should also spell out the name that
  2680. should be placed inside the program. This name will be displayed at the bottom
  2681. of the screen to identify the licensee. We prefer that you pay by C.O.D (cash
  2682. on delivery), by money order or by sending in the payment with your order. If
  2683. your company policy does not allow C.O.D. purchases, please leave a brief
  2684. message with your phone number and someone will contact you for a more
  2685. suitable arrangement. Please note that this phone number is NOT intended for
  2686. technical support.
  2687.        A portion of all proceeds from the sale of VDS 2.10 will be donated to
  2688. help the homeless people in Baltimore City.
  2689.  
  2690. B. Trial version
  2691.  
  2692.        A trial version of VDS is available on several electronic bulletin board
  2693. systems across the continental U.S., and can be downloaded free of charge. You
  2694. can also obtain a copy of the trial version on a diskette from the developers
  2695. by calling (410) 247-7117 and leaving your name and address. Please specify
  2696. that you would like to get the TRIAL version. If specified properly, we will ship
  2697. you the trial version only for $7 US anywhere within the continental U.S.A. If
  2698. you later choose to become a registered VDS user, we will credit this $7
  2699. towards the payment for the registered version.  You are encouraged to
  2700. upload the trial version of VDS to the electronic bulletin board systems in
  2701. your area. Please upload the documentation as well as the programs. You can
  2702. also give your friends a trial copy of VDS.
  2703.        The trial version has the same user interface and operational
  2704. characteristics (with certain limitations) as the registered version. Here are
  2705. some of the limitations of the trial version:
  2706.  
  2707.           *  Supports a single DOS partition (C: drive)
  2708.           *  No integrity-checking device driver is generated
  2709.           *  There is a promotional opening screen only during installation
  2710.           *  It does not have a line showing the licensee's name/serial number
  2711.           *  No printed manual is included
  2712.  
  2713. C. Complimentary version
  2714.  
  2715.        Complimentary version of VDS is made available to certain individuals
  2716. as a courtesy of VDS Advanced Research Group. These individuals include
  2717. product reviewers for well-known computer magazines, managers of anti-viral
  2718. research labs and others we recognize as people who have contributed to the
  2719. fight against viruses. Complimentary version cannot and need not be ordered.
  2720.  
  2721. D. Personal version
  2722.  
  2723.        Personal version costs $25 US plus the cost of shipping. You may make
  2724. backup copies of the distribution diskette you received for your own use only.
  2725. You may NOT upload any part of it to bulletin board systems. You may, however,
  2726. use VDS on as many computers as you personally own.
  2727.  
  2728. E. Academic version
  2729.  
  2730.        Academic institutions can obtain VDS for $300 US plus the cost of
  2731. shipping to be used on up to 1000 computers that they own. VDS can be
  2732. installed on each additional computer for 10 cents per machine. Students,
  2733. faculty and staff can install VDS on their home computers at no extra charge.
  2734. We encourage administrators to promote virus awareness on campus to be able
  2735. to contain the spread of infections.
  2736.  
  2737. F. Non-profit & charity version
  2738.  
  2739.        If you are a charitable non-profit organization, you are allowed to
  2740. install VDS on all computers you own at no extra charge besides the $25 US
  2741. registration fee and the cost of shipping. Please send us a brief message
  2742. stating the nature of your activities and needs from a computing standpoint.
  2743.  
  2744. G. Business version
  2745.  
  2746.        Purchases for use in business and government environments are subject
  2747. to separate conditions as follows:
  2748.  
  2749.        Organizations, including federal, state and local government agencies,
  2750. and companies are required to obtain a business version of VDS. Business
  2751. version costs:
  2752.  
  2753.           $25 US for each computer
  2754.        or
  2755.           $300 US for up to 100 computers, and $1 US for each additional
  2756.           computer.
  2757.  
  2758.        You are given a 30-day trial period to evaluate the suitability of VDS
  2759. to your needs. If you are not satisfied with its operation in any way or not
  2760. convinced that VDS can provide the kind of protection you think is necessary
  2761. for your computers, you can simply return it for a refund.
  2762.  
  2763.        Special Offer:
  2764.  
  2765.           We recognize that most virus infections in business environments are
  2766.        introduced by contaminated employee diskettes. Today many people use
  2767.        their home PCs to finish up some work and usually bring the diskettes
  2768.        they used at home to work. In recognition of this fact, the developers
  2769.        of VDS are glad to extend the business version site license to cover
  2770.        employees' home computers at NO EXTRA CHARGE. This coverage does not
  2771.        include outside consultants hired on a temporary basis.
  2772.           We encourage managers to ask their employees to install VDS on their
  2773.        home computers if they are going to exchange diskettes between the PCs
  2774.        at work and the one(s) at home. Such a policy would serve to reduce the
  2775.        risk of introducing viruses to the company PCs as well as to promote
  2776.        virus awareness among the employees.
  2777.           At one site, the manager had the company employees to answer the
  2778.        VDS Risk Analysis Test and asked those who scored high (meaning higher
  2779.        risk) to install VDS on their home computers. Employees were also
  2780.        encouraged to report any infections they have discovered without any
  2781.        fear of reproach. We strongly encourage other managers to display such
  2782.        positive attitude.
  2783.  
  2784.                                 IX. TECHNICAL SUPPORT
  2785.  
  2786. A. How to contact the developers
  2787.  
  2788.        The best way to get in touch with the developers of VDS for technical
  2789. assistance, or to order a customized version of VDS is by U.S. mail. You can
  2790. write to the following address stating your complaints, requests, and
  2791. questions:
  2792.  
  2793.                         Attn: Tarkan Yetiser
  2794.                     VDS Advanced Research Group
  2795.                           P.O. Box  9393
  2796.                         Baltimore, MD 21228
  2797.  
  2798.        You should allow about two weeks to receive an answer, though it may
  2799. take much less time in most cases.
  2800.  
  2801. B. How to get VDS on the Internet
  2802.  
  2803.        If you have FTP (file transfer protocol) access to Internet sites, you
  2804. can download a copy of the trial version of VDS from various anonymous-FTP
  2805. sites for free. Following are Internet addresses to such sites:
  2806.  
  2807.        address:     128.252.135.4
  2808.        subdir:      mirrors\msdos\trojan-pro
  2809.  
  2810.        address:     129.109.1.207
  2811.        subdir:      anonymous\pub\virus\pc
  2812.  
  2813.        address:     130.160.4.7
  2814.        subdir:      pub/ibm-antivirus
  2815.  
  2816.        address:     192.88.110.20
  2817.        subdir:      PD1:<MSDOS.TROJAN-PRO>
  2818.  
  2819. Example session:
  2820.  
  2821. ftp> FTP 128.252.135.4
  2822.  
  2823. .....
  2824. ....
  2825. User Name: ANONYMOUS
  2826. Password : GUEST
  2827. .....
  2828. .....
  2829. ftp> CD  MIRRORS\MSDOS\TROJAN-PRO
  2830. ftp> BINARY
  2831. ftp> GET  VDS210T.ZIP
  2832. .....
  2833. .....
  2834. ftp> BYE
  2835.  
  2836. C. Upgrades & bug fixes
  2837.  
  2838.        When VDS is upgraded, or there have been major bug fixes, all registered
  2839. users will be notified, and may ask for the latest version only for the cost of
  2840. shipping and handling. The first user who reports a major bug will receive a
  2841. free personal copy of VDS as soon as the problem is corrected. This rewarding
  2842. scheme applies only to the personal version of VDS.
  2843.